在内部组件上添加一个ShouldRender()方法,以防止两次ParameterSet触发。例如:
@page "/example/{id}"
@inherits ExampleBase
@code {
[Parameter]
public string Id { get; set; }
private async Task LoadData()
{
// Load data based on Id
}
protected override async Task OnParametersSetAsync()
{
await LoadData();
await base.OnParametersSetAsync();
}
}
public class ExampleChild : ComponentBase
{
[Parameter]
public string Id { get; set; }
protected override bool ShouldRender()
{
return true;
}
}
在例子中,顶级组件ExampleBase加载数据并将其传递给ExampleChild组件,而ShouldRender()方法可以确保仅在数据变化时才更新ExampleChild组件。