Appearance
Lifecycle of Components
Lifecycle Methods
Blazor provides several lifecycle methods to control component logic:
Initialization
OnInitialized()- Runs once when the component is initializedOnInitializedAsync()- Async version for initialization with async operations
Parameter Updates
OnParametersSet()- Runs every time parameters changeOnParametersSetAsync()- Async version for parameter updates with async operations
Rendering
OnAfterRender(bool firstRender)- Runs after the component has been renderedOnAfterRenderAsync(bool firstRender)- Async version for post-render operations
Cleanup
IDisposable.Dispose()- Runs when the component is removed to cleanup resources
razor
@implements IDisposable
@code {
protected override void OnInitialized()
{
Console.WriteLine("Component initialized");
}
protected override async Task OnInitializedAsync()
{
await LoadDataAsync();
}
protected override void OnParametersSet()
{
Console.WriteLine("Parameters have been set");
}
protected override async Task OnParametersSetAsync()
{
await UpdateDataAsync();
}
protected override void OnAfterRender(bool firstRender)
{
if (firstRender)
{
Console.WriteLine("First render complete");
}
}
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender)
{
await InitializeJsAsync();
}
}
public void Dispose()
{
// Cleanup resources
Console.WriteLine("Component is being disposed");
}
}