Managing State – Part 2
In this chapter, we continue to look at managing state. Most applications manage state in some form.
A state is simply information that is persisted in some way. It can be data stored in a database, session states, or even something stored in a URL.
The user state is stored in memory either in the web browser or on the server. It contains the component hierarchy and the most recently rendered UI (render tree). It also contains the values or fields and properties in the component instances as well as the data stored in service instances in dependency injection.
If we make JavaScript calls, the values we set are also stored in memory. Blazor Server relies on the circuit (SignalR connection) to hold the user state, and Blazor WebAssembly relies on the browser’s memory. But when we have a mix of both states, state management becomes a bit trickier. If we reload the page, the circuit and the memory will be lost. The same goes for switching...