Redux je predvidivi spremnik stanja izgrađen na tri temeljna principa: jedinstvena memorija (store), stanje samo za čitanje promijenjeno samo preko akcija, i čiste reducer funkcije koje računaju sljedeće stanje. Podaci teku u jednom smjeru, čineći promjene pracljivima.
Tri principa
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
