A Redux-alapú alkalmazásokban az architektúra három fő koncepció körül forog: a Redux store, actions, és reducers. Nézzünk mélyebbre az egyes fogalmakba, és nézzük meg, hogyan működnek együtt.
Redux Store
A Redux store az igazság egyetlen forrása, amely az alkalmazás teljes állapotát tartalmazza. Lényegében egy JavaScript objektum, amely az alkalmazás teljes állapotát reprezentáló adatokat tartalmazza. store A createStore
függvényt a Redux könyvtárból hozhatja létre .
Actions
Actions egyszerű JavaScript objektumok, amelyek leírnak valamit, ami az alkalmazásban történt. Egy mezőt tartalmaznak type
, amely jelzi a végrehajtott művelet típusát, és további adatok is megadhatók. Actions A műveletkészítők használatával jönnek létre, amelyek olyan függvények, amelyek műveletobjektumokat adnak vissza. Például:
Reducers
Reducers adja meg, hogy az alkalmazás állapota hogyan változik a következőre válaszul actions. A reduktor egy tiszta függvény, amely az aktuális állapotot és egy műveletet veszi argumentumként, és új állapotot ad vissza. Reducers a funkció segítségével egyetlen gyökércsökkentővé egyesítik combineReducers
. Íme egy egyszerű példa:
Együtt dolgozni
Amikor elküld egy műveletet a dispatch
függvény használatával, a Redux továbbítja a műveletet az összes reducers. Minden reduktor ellenőrzi, hogy a művelet típusa megegyezik-e a sajátjával, és ennek megfelelően frissíti az állapot megfelelő részét. A frissített állapotot ezután a Redux tárolja store, és a csatlakoztatott összetevők az új állapot alapján újra megjelennek.
Példa forgatókönyv
Képzeljen el egy teendőlista alkalmazást. Amikor egy felhasználó új teendőt ad hozzá, egy műveletet küld a ADD_TODO
teendő típusával és szövegével hasznos teherként. A todos reduktor megkapja ezt a műveletet, hozzáadja az új teendőt az állapothoz, és visszaadja a frissített állapotot.
Következtetés
store A Redux, actions, és interakciójának megértése reducers elengedhetetlen a hatékony állapotkezeléshez. Ez az architektúra biztosítja a problémák egyértelmű szétválasztását, és megkönnyíti az összetett alkalmazási állapotok kezelését. Ahogy a Redux-szal tovább fejlődik, ezek a koncepciók képezik az államirányítási stratégiájának alapját.