admin管理员组文章数量:1356758
I’m building a .NET 8 Blazor WebAssembly app with prerendering (InteractiveWebAssembly). When navigating via links, everything works fine. But if I manually enter a URL (e.g., /login), the server prerenders before WASM loads, causing crashes due to missing client-only services (e.g., ILocalStorageService).
MY SOLUTION=> Delay Rendering Until WASM LoadsInstead of letting the server render pages that need client-only services, I show a loading screen until WASM takes over.
@if (!_isLoaded)
{
<div id="app-loading">Loading...</div>
}
else
{
<div class="page">
<NavMenu />
<main>@Body</main>
</div>
}
@code {
private bool _isLoaded = false;
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender)
{
await JSRuntime.InvokeVoidAsync("console.log", "Client ready");
_isLoaded = true;
StateHasChanged();
}
}
}
Is there a better way to prevent crashes while keeping it simple and scalable?
本文标签: dependency injectionBlazor WASM Prerendering Crashes with ClientOnly ServicesStack Overflow
版权声明:本文标题:dependency injection - Blazor WASM Prerendering Crashes with Client-Only Services - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1744060862a2584096.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论