Dictionary
Redux
Redux is a predictable state container for JavaScript applications that centralizes application state in a single store and enforces unidirectional data flow. State changes are triggered exclusively through dispatched actions, which are plain objects describing what happened. Reducer functions take the current state and an action, then return a new state without mutating the original, making state transitions predictable and traceable.
Redux Toolkit, now the recommended way to use Redux, significantly reduces the boilerplate that made early Redux implementations verbose. It provides createSlice for defining reducers and actions together, configureStore for setting up the store with good defaults, and RTK Query for data fetching and caching that eliminates the need to write manual loading and error state management for API calls.
For web development teams, Redux is most valuable in applications with complex state interactions where multiple components need access to the same data, state changes need to be auditable, or undo/redo functionality is required. The Redux DevTools extension enables time-travel debugging, letting developers replay actions and inspect state at any point in the application history. For simpler state management needs, lighter alternatives like Zustand, Jotai, or React's built-in Context API may be more appropriate.