How it works
In Redux the whole shared state lives in one store. Components dispatch actions such as 'cart/itemAdded', and reducer functions compute the next state from the current one without modifying it in place. Because every change goes through that single path, Redux DevTools can list each action and even step back through them (time-travel debugging).
Early Redux was known for boilerplate. Redux Toolkit is now the official way to write it: createSlice generates actions and reducers together, Immer allows simple-looking updates, and RTK Query adds data fetching and caching. Redux works with any UI library but is mostly used with React through react-redux.
Redux pros and cons
Pros
- Predictable, traceable updates through one path
- Detailed DevTools with action history and time travel
- Redux Toolkit removes most of the old boilerplate
- Mature, well documented and familiar to many developers
Cons
- More ceremony than Zustand for small apps
- Old tutorials show outdated patterns without Redux Toolkit
- A single global store can become a dumping ground
When to use Redux
Pick it when
- Large apps with complex shared state and many contributors
- You need strong debugging, logging or undo of state changes
- An existing Redux codebase
Skip it when
- Small apps where local state or Zustand is enough
- Most of the state is server data (TanStack Query fits better)
Redux pricing
Redux vs the alternatives
Related terms
More in Frontend
State and data