Redux on ennustettava state container, joka on rakennettu kolmelle perusperiaatteelle: yksittäiselle storelle, vain luku -tilalle, joka muuttuu vain actionien kautta, ja puhtaille reducereille, jotka laskevat seuraavan tilan. Data virtaa yhteen suuntaan, mikä tekee muutoksista jäljitettäviä.
Kolme periaatetta
1. Single source of truth — the whole app's state lives in ONE store object
2. State is read-only — you never mutate it; you DISPATCH actions to change it
3. Changes via pure reducers — (state, action) => newState, no side effects
