⊗jsrxPmATGS 51 of 57 menu

Verkryg van Data Verkopers in Redux

Laat ons ons toepassing met produkte begin. Ons sien dat die kaarte met produkte nie die verkopers uitwys nie. Kom ons verkry hulle van die bediener en vertoon hierdie data. Om dit te doen sal ons die reeds bekende reeks aksies moet uitvoer.

Om te begin, laat ons die lêer server.js oopmaak. Soek die skikking handlers en voeg nog 'n verwerking van GET-versoek daarin by (na die verwerking van GET vir produkte). Soos jy kan sien is dit feitlik identies:

http.get('/fakeServer/sellers', async () => { await delay(ARTIFICIAL_DELAY_MS) return HttpResponse.json(db.seller.getAll()) }),

Ons het die versoek op die bediener verwerk. Die volgende stap is om in die lêer sellersSlice.js 'n thunk te skryf om data van die bediener te verkry. Om dit te doen, importeer ons client en createAsyncThunk daarin:

import { createSlice, createAsyncThunk } from '@reduxjs/toolkit' import { client } from '../../api/client'

Nou sal ons verkopers van die bediener kry, so laat ons hulle uit initialState verwyder, en net leë hakies agterlaat:

const initialState = []

En dan, voor die funksie sellersSlice, skep ons ons thunk fetchSellers. Aan die kliënt gee ons die pad wat ons op die bediener gespesifiseer het:

export const fetchSellers = createAsyncThunk( 'sellers/fetchSellers', async () => { const response = await client.get('/fakeServer/sellers') return response.data } )

Ons hoef net vir sellersSlice 'n addisionele reducer te skep. Ons sal ons hier beperk tot die verwerking van 'n suksesvolle versoek. Alle aksies, gegenereer deur fetchSellers, sal identies wees aan die aksies van fetchProducts:

const sellersSlice = createSlice({ name: 'sellers', initialState, reducers: {}, extraReducers(builder) { builder.addCase(fetchSellers.fulfilled, (state, action) => { return action.payload }) }, })

Onthou, die vorige keer toe ons produkte gekry het, het ons die huidige waarde van die staat verander. Hier het ons 'n ietwat ander pad gevolg en eenvoudig die nuwe waarde teruggegee, want dit kan ook in createSlice gedoen word. So het ons twee doelwitte bereik. Eerstens het ons die data verkry, en tweedens, nou het ons die versekering dat daar niks anders in die lys van verkopers sal verskyn nie, aangesien ons die slice volledig herskryf het met die waarde action.payload.

Maak jou toepassing met studente oop. Maak die lêer server.js daarin oop, voeg in die skikking handlers nog 'n verwerker vir die GET-versoek van onderwysers by.

En nou, maak die lêer teachersSlice.js oop. Maak initialState 'n leë skikking, soos in die les gewys. Voor die funksie studentsSlice, skryf die thunk fetchTeachers.

Voeg in die funksie createSlice die addisionele reducer by, beperk jou tot die verwerking van 'n suksesvolle versoek.

Afrikaans
AzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp