Skip to content

State Management

State management is crucial for maintaining component data and ensuring proper UI updates when data changes.

Component State

razor
@code {
    private int counter = 0;
    private string message = "Hello";
    private List<string> items = new();

    private void UpdateState()
    {
        counter++;
        StateHasChanged();
    }
}

State Containers

csharp
public class StateContainer
{
    private string savedString;

    public string Property
    {
        get => savedString;
        set
        {
            savedString = value;
            NotifyStateChanged();
        }
    }

    public event Action OnChange;

    private void NotifyStateChanged() => OnChange?.Invoke();
}

State Management Patterns

  1. Component State
  2. Cascading Parameters
  3. State Containers
  4. Services
  5. Local Storage
  6. Server-side State