组件加载时正在加载数据



人们会认为这是一项简单的任务。但是,如何在组件加载时调用服务方法而不触发两次呢?

当前-

protected override async Task OnInitializedAsync()
{
await Initialize(); 
}
private async Task Initialize()
{
Video = await _VideoService.GetAsync(Id);
}

现在,它被调用了两次,对于相同的信息,两次访问数据库似乎不是一个好主意。

我试过在下面这样做,但每次渲染之前都会出现错误。

protected override async Task OnAfterRenderAsync(bool firstRender)
{
if(firstRender)
{ 
await Initialize();
}
}

OnInitializedAsync初始化组件的生命周期方法执行两次

  1. 静态预呈现组件时
  2. 在建立服务器连接之后

这是经过设计的-检查预提交后的状态重新连接和本文的其他部分,以找出在您的情况下加载数据的安全方式。可能是SetParametersAsyncOnParametersSetAsync

相关内容

  • 没有找到相关文章

最新更新