⊗jsrxPmSDSSC 35 of 57 menu

Endring av tilstandstrukturen i Redux

Første trinn, som vi skal implementere for interaksjon mellom vår Redux-applikasjon og en ekstern server, er å hente dataene som er lagret på den når applikasjonen starter. Men først, la oss gjøre noen endringer i applikasjonen vår.

La oss åpne applikasjonen vår med produkter, og i den filen productsSlice.js. Legg merke til definisjonen av initialState. Opprinnelig er skiven vår med produkter productsSlice en matrise som inneholder objekter (i vårt tilfelle er det to) med data om produktene. For det første, siden vi nå skal laste dem fra en server, må vi fjerne dem fra initialState. For det andre, vi skal sende API-forespørsler til serveren, og det vil være viktig for oss å vite statusen deres. Med tanke på disse to tingene, la oss endre initialState. La det nå være et enkelt objekt med feltene products (opprinnelig vil det ikke være noen data her, bare en tom matrise), status og error. Nå vil koden vår for initialState bli litt kortere:

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

Foreløpig har vi satt statusen til 'idle' (hvile), fordi vi initialt ikke sender noen forespørsler, men generelt vil den endre seg og kan ta verdier som 'loading', 'succeeded', 'failed'. Husk at for å angi status kan du velge de navnene som er passende for deg.

La oss scrolle lenger ned i koden. Etter endringen av initialState, bør vi også endre koden der vi jobber med denne tilstanden i reducerfunksjonene. La oss se på koden for productAdded:

state.push(action.payload)

Nå vil vi legge nye produkter ikke bare til state for produkter, men til dens egenskap state.products. Derfor bytter vi ut linjen ovenfor med:

state.products.push(action.payload)

Følgelig gjør vi de samme endringene for reduceren reactionClicked. I stedet for:

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

Vil det nå være:

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

Erstatt selv state med state.products i koden til reduceren productUpdated.

Åpne applikasjonen din med studenter. Åpne filen studentsSlice.js i den. La nå initialState ditt ha tre egenskaper: students, status, error - endre den, som vist i leksjonen.

Gjør de tilsvarende endringene i koden lenger ned. Erstatt state med state.students i koden for dine tre reducerfunksjoner.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis