⊗jsrxPmSDSSC 35 of 57 menu

Spreminjanje strukture stanja v Redux

Prva faza, ki jo bomo implementirali za interakcijo naše Redux aplikacije z nekim zunanjim strežnikom - je pridobivanje podatkov, ki so na njem shranjeni ob zagonu aplikacije. Toda prej naredimo nekaj sprememb v našo aplikacijo.

Odprimo našo aplikacijo s produkti, v njej pa datoteko productsSlice.js. Bodite pozorni na definicijo initialState. Sprva je naš rezinec s produkti productsSlice - matrika, v kateri so objekti (v našem primeru sta dva) s podatki produktov. Prvič, ker jih bomo zdaj naložili s strežnika, jih moramo odstraniti iz initialState. Drugič, poslali bomo na strežnik API zahteve in pomembno bo vedeti o njihovem statusu. Upoštevajoč ti dve stvari, prepišimo initialState. Naj bo zdaj preprosto objekt s polji products sprva tu ne bo podatkov, ampak prazna matrika), status in error. Zdaj bo naša koda za initialState postala malo krajša:

const initialState = { products: [], status: 'idle', error: null, }

Za zdaj smo postavili status 'idle' (mirovanje), saj sprva ne pošljemo nobenih zahtev, na splošno pa se bo spreminjal in lahko sprejme vrednosti 'loading', 'succeeded', 'failed'. Ne pozabite, da za označevanje statusa lahko izberete tista imena, ki vam bodo udobna.

Spustimo se nižje po kodi. Po spremembi initialState, moramo spremeniti tudi kodo, v kteri delamo s tem stanjem v reduktorjih. Poglejmo kodo za productAdded:

state.push(action.payload)

Zdaj bomo nove produkte dodajali ne preprosto v state za produkte, ampak v njegovo lastnost state.products. Zato zamenjajmo zgornjo vrstico z:

state.products.push(action.payload)

Ustrezno naredimo enake spremembe za reduktor reactionClicked. Namesto:

const currentProduct = state.find((product) => product.id === productId)

Zdaj bo:

const currentProduct = state.products.find((product) => product.id === productId)

Zamenjajte sami state z state.products tudi v kodi reduktorja productUpdated.

Odprite vašo aplikacijo s študenti. Odprite v njej datoteko studentsSlice.js. Naj bo zdaj vaš initialState imel tri lastnosti: students, status, error - preoblikujte ga, kot je prikazano v lekciji.

Vnesite ustrezne spremembe tudi nižje po kodi. Zamenjajte state z state.students v kodi za vaše tri reduktorje.

Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni