Skip to content

Component Lifecycle

Components go through a series of lifecycle stages from initialization to disposal. Understanding these stages is crucial for proper component management.

Lifecycle Methods

Initialization

razor
@implements IDisposable

@code {
    protected override void OnInitialized()
    {
        // Synchronous initialization
    }

    protected override async Task OnInitializedAsync()
    {
        // Asynchronous initialization
    }
}

Parameter Setting

razor
@code {
    protected override void OnParametersSet()
    {
        // Called after parameters are set
    }

    protected override async Task OnParametersSetAsync()
    {
        // Async version of OnParametersSet
    }
}

Rendering

razor
@code {
    protected override void OnAfterRender(bool firstRender)
    {
        if (firstRender)
        {
            // First time the component has rendered
        }
    }

    protected override async Task OnAfterRenderAsync(bool firstRender)
    {
        // Async version of OnAfterRender
    }
}

Disposal

razor
@code {
    public void Dispose()
    {
        // Cleanup resources
    }

    public async ValueTask DisposeAsync()
    {
        // Async cleanup
    }
}