Choose among local state, lifted state, context, URL state, external stores, and state machines. Implement shared application state while preserving selectors, predictable updates, and developer tooling.