Redux to przewidywalny kontener stanu zbudowany na trzech zasadach: pojedynczym magazynie, stanie tylko do odczytu, zmieniającym się wyłącznie za pośrednictwem akcji, oraz czystych reduktorach obliczających następny stan. Dane płyną w jednym kierunku, co czyni zmiany możliwymi do śledzenia.
Trzy zasady
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
