
Redux
A JavaScript library for keeping an app's shared state predictable and easy to test.
- Stars
- 61.4k
- Forks
- 15.1k
- Licence
- MIT
- Language
- TypeScript
- Last update
- 16 days ago
- Type
- Library
What it is
Redux is a JavaScript library for managing global state, the data many parts of an app need to share. You store that state in one place and change it by dispatching plain action objects that describe what happened, handled by pure reducer functions. The README says the core is small (about 2kB) and works with React or other view libraries, and that Redux Toolkit is the official recommended way to write Redux code.
- Store and update a shared counter or app-wide settings with dispatched actions
- Keep one source of truth for data fetched and displayed across many components
- Write reducers that are easy to unit test because they are pure functions
- Inspect and replay state changes with the Redux DevTools debugger
Great for
- Developers building larger front-end apps where many components share the same data
- Teams that want state changes to follow a consistent, testable pattern
- Projects that already use React and want the official React-Redux integration
- People who want a time-travel debugger via Redux DevTools
Not ideal for
- Small apps with little shared state, since the README itself suggests Redux may be unnecessary there
- Beginners who only need local component state, which the README suggests keeping simple
- Anyone wanting a zero-boilerplate setup without Redux Toolkit, since the README recommends Toolkit for most tasks
How to get it
- 1
Install with a package manager
You'll need: Node.js (version not specified in the README excerpt)
Install Redux core
npm install reduxInstall Redux Toolkit and React-Redux
npm install @reduxjs/toolkit react-redux - 2
Run it
- Install Redux Toolkit and React-Redux with npm, or use the official Vite or Next.js template from the README
- Create a slice with createSlice to define initial state and reducers
- Create a store with configureStore using your slice reducer
- Dispatch the exported actions and subscribe to the store to see state changes
- 3
Get the most out of it
- Use the official Redux Toolkit + TS template for Vite to start with a preconfigured setup
- Follow the Redux Essentials tutorial for the recommended top-down approach
- Read the Redux Fundamentals tutorial to understand the underlying patterns
- Use Redux DevTools for live editing and time-travel debugging
- Ask questions in the #redux channel of the Reactiflux Discord
Downloads
Strengths
- The README describes a predictable, single-store data flow that is easy to reason about
- The core is small and the ecosystem of addons is large, according to the README
- Official docs, tutorials, and a Discord community are linked from the README
Trade-offs
- The README stresses that Redux adds structure and may not be needed for every app
- Most modern usage goes through Redux Toolkit, so you need to learn both layers
- The README excerpt is truncated, so detailed API and version compatibility are not covered here
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| redux (this) | 61.4k | Library | intermediate | 16 days ago | Developers building larger front-end apps where many components share the same data |
| zustand | 58.9k | Library | beginner | 15 days ago | React developers who want simpler shared state than Redux |
| jotai | 21.3k | Library | beginner | 14 days ago | React developers who want simple shared state without heavy setup |
| mobx | 28.2k | Library | intermediate | 5 days ago | Frontend developers building React apps with complex or frequently changing state |
| Recoil | 19.4k | Library | intermediate | 1.8 years ago | React developers who want shared state beyond simple prop passing |
| immer | 29k | Library | beginner | 5 days ago | JavaScript developers who find hand-written immutable updates verbose or error-prone |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.