Skip to main content

Client State (Reservoir)

Overview​

Reservoir is the Mississippi client state-management library.

It provides the store, actions, reducers, selectors, effects, middleware, and UI integration patterns used to keep client-side state predictable and testable.

Why This Area Exists​

Use Reservoir when client behavior needs explicit state transitions, repeatable side-effect handling, and selectors or tests that are independent of UI rendering details.

It gives Mississippi a dedicated client-state model instead of spreading state changes across components, callbacks, and transport glue.

Representative Packages​

  • Mississippi.Reservoir.Abstractions
  • Mississippi.Reservoir.Core
  • Mississippi.Reservoir.Client
  • Mississippi.Reservoir.TestHarness

What This Area Owns​

  • Store and dispatch pipeline abstractions
  • Feature state, actions, reducers, selectors, effects, and middleware
  • Blazor integration for applications that want Redux-style state management

How It Fits Mississippi​

Reservoir can be used independently of the rest of the framework.

Within the broader stack, it is commonly used beneath Refraction and Inlet-powered clients to manage local and synchronized client state.

Use This Section​

Start here when you need the client-state model itself: store behavior, reducers, effects, selectors, middleware, or the Blazor integration surface.

Choose a Reading Path​

Start with a feature recipe, the local state-flow model, and the selector reference to connect actions to the values your screens display.

Use the registration reference for builder composition, then follow the focused guides below.

Learn More​