为什么 OnInitializedAsync() 在页面重新加载时调用两次

问题描述 投票:0回答:1

通常,在 Blazor 版本 8 中创建和呈现页面时,RenderMode.InteractiveServer 会调用一次

OnInitializedAsync()
。但是当我在 Chrome 上执行 Reload 时,它会被调用两次。并且页面中的所有子组件也被调用两次。

为什么会被调用两次?我该怎么做才能避免从数据库读取数据来填充页面两次?非常重要的是,在任何情况下都至少从数据库调用一次?

blazor blazor-server-side
1个回答
0
投票

禁用预渲染或在 OnAfterRenderAsync 中使用 if(firstRender)。

© www.soinside.com 2019 - 2024. All rights reserved.