⊗jsrxPmWFRs 12 of 57 menu

Redux Reducerek

Az előző leckén a createSlice függvény segítségével létrehoztunk egy slice-ot a termékekhez products és egy reducert, amely frissíteni fogja ezt a slice-ot, amely a store-ban tárolódik. Még egyszer emlékeztetek, hogy a Redux-ban az állapot adatait a reducerek segítségével módosítjuk.

Nem szabad elfelejteni, hogy a reducerekre számos korlátozás vonatkozik. A reducer csak a kapott értékek, a jelenlegi állapot és a action objektum alapján frissíti az állapotot, majd eldönti, hogyan módosítsa az állapotot, és visszaadja annak új értékét.

Tudjuk, hogy alapértelmezetten az objektumok és tömbök a JavaScript-ben mutálhatók (megváltoztathatók). Azt is tudjuk, hogy az állapotot közvetlenül nem szabad megváltoztatni, ilyenkor csak másolatokkal kell dolgozni. Ennek a szabálynak a reducernek is meg kell felelnie. De az ilyen logika manuális írása meglehetősen fárasztó és összetett feladat lehet, és itt jön a segítségre a createSlice függvény, amely az Immer könyvtárat használja, ami az 'mutálható' kódodat 'nem mutálhatóvá' alakítja. Így csak a createSlice vagy createReducer függvények használatakor "bűnözhetünk" és egyszerűsíthetjük az életünket.

A reducer korlátozásai közé tartozik továbbá az aszinkron logika, véletlenszerű értékek számítása és egyéb "mellékhatások" végrehajtása. Most, hogy közelebbről megismerkedtünk a reducerrel, térjünk vissza a termékalkalmazásunkhoz.

Alkalmazásunkban van egy store, amelyet az előző leckékben hoztunk létre, de egyelőre nincs benne semmi. Nyissuk meg a store.js fájlunkat, és adjunk hozzá egy kis kódot. Először importáljuk bele a termékek reducer függvényét:

import productsReducer from '../parts/products/productsSlice'

Most reducerként megadhatjuk az importált productsReducer függvényt:

export default configureStore({ reducer: { products: productsReducer } })

A fenti sorral azt mondjuk a store-nak, hogy mostantól, amikor egy action történik, a state.products slice összes adatát a productsReducer reducer fogja frissíteni.

Most elindíthatja az alkalmazást (figyelje meg, hogy eltűnt a konzolból az érvénytelen reducerre figyelmeztető üzenet!), nyissa meg a Redux DevTools-ot a böngészőben, és fedezze fel a lapjait. Például, a State lapra kattintva az Inspector ban láthatjuk a két termékobjektumunkat, amelyek az alkalmazás első indításakor az állapot kezdeti értékeként jelennek meg. A Log monitor lapon látjuk, hogy milyen slice-ok vannak a globális állapotban - ez a products slice, amely két objektumot tartalmaz. Nézzen be a Chart lapra is.

Nyissa meg a diákok alkalmazását, és módosítsa a store.js fájl kódját, ahogyan az a leckében bemutatásra került.

Indítsa el a böngészőben az alkalmazását, és fedezze fel a Redux DevTools kiegészítő lapjait.

Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás