The established pattern.
WHAT IT PROVIDES
A single store holding application state Changes made only through described actions Predictable updates through pure functions
WHY THAT PATTERN
Every change is explicit and traceable, which matters in complex applications.
WHAT THE TOOLING PROVIDES
Time-travel debugging A record of every action Inspection of state at any point
WHY THAT IS VALUABLE
Reproducing a bug becomes possible.
WHAT THE MODERN TOOLKIT CHANGED
Substantially less boilerplate than the original pattern required.
WHAT TO USE
The official toolkit, always, rather than writing the pattern manually.
WHAT IT PROVIDES
Simplified store setup Reducers written as if mutating, converted safely Data fetching utilities
WHEN REDUX IS WARRANTED
Complex state with many interactions Several teams on one application A need for strict traceability
WHEN IT IS NOT
Most applications, which have far less shared state than assumed.
WHAT IT COSTS
Concepts to learn Structure to maintain