获取天气页面数据的模板项目是否有缺陷,因为数据是在 OnInitializedAsync() 方法中检索的?
如果您刷新天气页面(或直接从浏览器请求)而不是使用其他页面的交互式(增强型)导航,则模板项目将获取数据两次。
处理这种情况的一种“更好”的方法似乎是执行以下操作。 (我正在使用 WeatherService 来获取 WeatherForecast 数据)...
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender)
{
forecasts = await weatherService.GetWeather();
StateHasChanged();
}
await base.OnAfterRenderAsync(firstRender);
}
这似乎是保证应用程序不会两次访问数据的最简单方法。我错过了什么吗?