⊗jsrxPmWFRs 12 of 57 menu

Redukserid Reduxis

Eelmisel tunnil loome funktsiooni createSlice abil toodete jaoks products lõigu ja redukseri, mis uuendab seda poes hoitavat lõiku. Tuletan veelkord meelde, et Reduxis muudetakse oleku andmeid redukserite abil.

Tuleb meeles pidada, et redukseritele kehtivad mitu piirangut. Redukser uuendab olekut ainult saadud praeguse oleku väärtuste ja action objekti põhjal ning seejärel otsustab, kuidas olekut muuta ja tagastab selle uue väärtuse.

Me teame, et vaikimisi on objektid ja massiivid JavaScriptis muteeritavad (muudetavad). Samuti teame me, et olekut otse muuta ei tohi, sellisel juhul tuleb töötada ainult koopiatega. Redukser peab alluma sellele reeglile. Kuid sellise loogika käsitsi kirjutamine võib olla üsna tüütu ja keeruline tegevus, ning siin tuleb appi funktsioon createSlice, mis kasutab teeki Immer, muutes teie 'muteeritava' koodi 'mitte-muteeritavaks'. Seega, võib eksida ja elu lihtsustada ainult funktsioone createSlice või createReducer kasutades.

Redukseri piirangute hulka kuulub ka asünkroonse loogika kasutamine, juhuslike väärtuste arvutamine ja muud "kõrvalefektid". Nüüd aga, pärast redukseriga lähedasemat tutvumist, pöördume tagasi oma toodete rakenduse juurde.

Meie rakenduses on store, mille loome eelmistel tundidel, kuid seni pole selles midagi. Avame oma faili store.js ja lisame sinna natuke koodi. Alustuseks importime sinna redukseri funktsiooni toodete jaoks:

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

Nüüd saame redukserina määrata imporditud funktsiooni productsReducer:

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

Ülaltoodud reaga ütleme oma store'ile, et nüüd, kui tekib action, uuendatakse kõik lõigu state.products andmed redukseri productsReducer poolt.

Nüüd saate rakenduse käivitada (pange tähele, et konsoolis kadunud hoiatus ebaõigest redukserist!), avada brauseris Redux DevTools ja selle vahelehti uurida. Näiteks, klõpsates vahelehel State vahelehel Inspector näeme oma kahte tooteobjekti, mis kuvati oleku algväärtusena rakenduse esmakordsel käivitamisel. Vahelehel Log monitor näeme, milliseid lõike globaalne olek sisaldab - see on lõige products, mis sisaldab kahte objekti. Vaadake ka vahelehte Chart.

Avage oma õpilaste rakendus ja muutke faili store.js koodi nagu tunnis näidatud.

Käivitage brauseris oma rakendus ja uurige Redux DevTools laienduse vahelehti.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu