检测授权何时完成

Detect when authorization has finished

我正在使用动画整页加载器来阻止查看,直到客户端应用程序完成加载。未经授权,在 App.razor 中调用 IJSRuntime 就足够了,这将滑出叠加层以显示完全加载的内容。

protected override async Task OnAfterRenderAsync(bool firstRender)
{
    await JSRuntime.InvokeVoidAsync($"hidePageLoader");
    await base.OnAfterRenderAsync(firstRender);
}

然而,授权在应用程序的 OnAfterRenderAsync 事件之后启动,因此它会在仍然存在短暂 "Authorizing..." 内容的情况下将叠加层滑开,然后它会交换实际内容。因此,简单来说,我正在寻找类似 OnAfterAuthorization(编造的)的东西,以便在一个地方调用并为任何剃须刀组件页面的 AuthorizedNotAuthorized 结果工作。

等待Task<AuthenticationState>组件传下来的Task<AuthenticationState>级联参数。我是在默认布局 OnAfterRenderAsync.

中完成的

MainLayout.razor

@code {
    [CascadingParameter]
    private Task<AuthenticationState> AuthenticationStateTask { get; set; }
    protected override async Task OnAfterRenderAsync(bool firstRender)
    {
        await AuthenticationStateTask;
        await JSRuntime.InvokeVoidAsync($"hidePageLoader");
        await base.OnAfterRenderAsync(firstRender);
    }
}