Redux - přehled 🏪
Redux je nejpopulárnější state management knihovna pro React aplikace. I když má složitější setup než moderní alternativy, stále je široce používán v enterprise aplikacích.
🎯 Co je Redux?
Redux je předvídatelný state container pro JavaScript aplikace. Je založen na třech principech:
-
Single source of truth - stav je uložen v jednom store
-
State is read-only - stav se mění pouze pomocí akcí a při změně se vždy vytvoří nový stav (stejně jako u useState).
-
Changes are made with pure functions - reducery jsou čisté funkce
Kdy použít Redux:
✅ Velké aplikace - komplexní stav a logika
✅ Týmová práce - standardizovaný přístup
✅ Time travel - možnost návratu k předchozím stavům
✅ Middleware - potřebujeme složité side effects (např. logging, analytics, atd.)
✅ Enterprise - zralá knihovna s velkou komunitou (potkáte např. v bankovnictví apod.)
Kdy NEPOUŽÍVAT Redux:
❌ Malé aplikace - zbytečná složitost
❌ Jednoduchý stav - useState nebo Context API stačí
❌ Rychlý prototyp - příliš mnoho boilerplate kódu
❌ Dnešní jednodušší technologie jsou dostačující - useState, Context API, Zustand, Recoil, atd. dosáhnou stejného efektu a budou i rychlejší
🚀 Základní koncepty
1. Store
Centralizované úložiště pro celý stav aplikace. (podobně jako v Context store)
2. Actions - objekt, který popisuje, co se má stát (typ akce, payload). (podobně jako reducer pattern actions)
3. Reducers - čisté funkce, které berou současný stav a akci a vrací nový stav. (podobně jako reducer pattern reducer)
4. Dispatch - funkce pro odesílání akcí do store. (podobně jako reducer pattern dispatch)
Další informace o Reduxu najdeš v dokumentaci Redux, nejsou součástí kurzu.