Answer

Redux is a predictable state container for JavaScript applications. It stores the entire application state in a single store (a plain JavaScript object). State can only be changed by dispatching actions (plain objects describing what happened), which are handled by pure functions called reducers. Three core principles: Single source of truth: the entire app state lives in one store. State is read-only: the only way to change state is to dispatch an action. Changes are made with pure functions: reducers are pure functions — given the same state and action, they always return the same new state with no side effects. Originally created by Dan Abramov and Andrew Clark in 2015, Redux became the dominant React state management solution for several years before alternatives emerged. It excels at complex state that multiple components need access to and when you need predictable, debuggable state transitions.