是否有任何方法可以通过OnInitializedAsync
生命周期方法来检测Blazor组件中的预渲染?我知道组件工作流将调用OnInitializedAsync
两次,第一次是预渲染,第二次是实际渲染。最后,一次调用OnAfterRenderAsync
方法进行实际渲染。
但是,我需要检测OnInitializedAsync
中的预渲染。这样我就可以对预渲染进行一些更改,并在实际渲染中阻止它,反之亦然。
我检查了以下GitHub问题,但是它没有有效的解决方案。我希望应该在IsPrerendering
之类的API中解决该问题。
https://github.com/dotnet/aspnetcore/issues/17282
谢谢。
答案 0 :(得分:3)
答案 1 :(得分:0)
要检测 Blazor 服务器上的预渲染,我建议按照官方 documentation 操作,引用如下:
<块引用>预呈现其内容的 Blazor 服务器应用调用 OnInitializedAsync 两次:
当组件最初作为页面的一部分静态呈现时。
第二次当浏览器与服务器建立连接时。
要防止 OnInitializedAsync 中的开发人员代码运行两次,请参阅 Stateful reconnection after prerendering section。