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");
}
}