Skip to content

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
Step-by-step guide: how to use ReduxInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Install with a package manager

    You'll need: Node.js (version not specified in the README excerpt)

    Install Redux core

    npm install redux

    Install Redux Toolkit and React-Redux

    npm install @reduxjs/toolkit react-redux
  2. 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. 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

ProjectStarsTypeLevelUpdatedBest for
redux (this)61.4kLibraryintermediate16 days agoDevelopers building larger front-end apps where many components share the same data
zustand58.9kLibrarybeginner15 days agoReact developers who want simpler shared state than Redux
jotai21.3kLibrarybeginner14 days agoReact developers who want simple shared state without heavy setup
mobx28.2kLibraryintermediate5 days agoFrontend developers building React apps with complex or frequently changing state
Recoil19.4kLibraryintermediate1.8 years agoReact developers who want shared state beyond simple prop passing
immer29kLibrarybeginner5 days agoJavaScript 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.