Redux is a library that keeps an app's shared state in one central store, which changes only through dispatched actions and pure reducers. It is most often used with React, through React-Redux.
It solves the problem of shared state in a growing app. When many distant components read and update the same data, passing props through every layer gets messy. It also becomes hard to see what changed the state. With Redux, any component can read that data from the store.
Every change is an action, so changes are predictable and can be traced, which powers Redux DevTools. The cost is extra setup, so state used by only one component, like an input's value, usually stays local.
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
The diagram below the answer is the concept . Jump to it ↓