predictable

Redux helps you write applications that behave consistently, run in different environments (client, server, and native), and are easy to test.

centralized

Centralizing your application's state and logic enables powerful capabilities like undo/redo, state persistence, and much more.

debuggable

The Redux DevTools make it easy to trace when, where, why, and how your application's state changed. Redux's architecture lets you log changes, use "time-travel debugging", and even send complete error reports to a server.

flexible

Redux works with any UI layer, and has a large ecosystem of addons to fit your needs.

Other Libraries from the Redux Team

react-redux

Official React bindings for Redux

redux toolkit

The official, opinionated, batteries-included toolset for efficient Redux development