Redux é um container de estado previsível construído sobre três princípios principais: um único store, estado somente leitura alterado apenas por ações, e redutores puros que calculam o próximo estado. Os dados fluem em uma única direção, tornando as mudanças rastreáveis.
Os três princípios
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
