⊗jsrxPmSDGRS 43 of 57 menu

Gegevens verzenden vanaf de server via GET-verzoek in Redux

We hebben dus een database met gegevens. Het eerste wat we gaan doen bij het opstarten van onze Redux applicatie - is gegevens over producten ophalen van de server. Hiervoor moeten we vanuit onze applicatie een GET-verzoek sturen. Laten we dit aan de serverkant afhandelen.

Open onze applicatie met producten, en daarin het bestand server.js. Om met HTTP-verzoeken te kunnen werken, moeten we een paar instrumenten uit msw importeren in het bestand, laten we dit doen:

import { http, HttpResponse, delay } from 'msw'

Laten we ook meteen aanpassingen maken voor de realiteit, dat wil zeggen mogelijke vertragingen in het netwerk. Laat de waarde van onze kunstmatige vertraging 2 seconden zijn, zodat we kunnen zien hoe de gegevens worden geladen. Laten we dit schrijven na const PRODS_PER_SELLER = 2:

const ARTIFICIAL_DELAY_MS = 2000

En nu, aan het einde van het bestand, vóór het exporteren van de worker, maken we een array voor API verzoekhandlers:

export const handlers = []

En vervolgens schrijven we tussen de vierkante haakjes de eerste handler voor het onderscheppen van het GET-verzoek voor producten:

export const handlers = [http.get()]

Als eerste parameter voor http.get geven we een nepadres door, bijvoorbeeld '/fakeServer/products', en als tweede een asynchrone callback:

export const handlers = [http.get('/fakeServer/products', async () => {})]

Laten we nu de code voor deze callback schrijven. Met behulp hiervan halen we alle producten uit de database. Hier gebruiken we ook de functie serializeProduct, waarvan we de code in de vorige les hebben geschreven. Laten we deze in map doorgeven. Vervolgens introduceren we een vertraging (alsof het netwerk traag is) en retourneren we in response de objecten met productgegevens als JSON:

export const handlers = [ http.get('/fakeServer/products', async () => { const products = db.product.getAll().map(serializeProduct) await delay(ARTIFICIAL_DELAY_MS) return HttpResponse.json(products) }), ]

En als laatste. We hebben de eerste handler geschreven voor onze worker, laten we deze worker de array handlers doorgeven. Hiervoor passen we de laatste regel code in het bestand aan op:

export const worker = setupWorker(...handlers)

Open je applicatie met studenten, en daarin het bestand server.js. Importeer de genoemde instrumenten uit msw in het bestand. Bestudeer de stof van deze les en maak een lege array van handlers voor het onderscheppen van verzoeken. Schrijf daarin de code voor de handler van het GET-verzoek voor studenten. Laat het pad '/fakeServer/students' zijn.

Vergeet aan het einde van het bestand niet om de array van handlers handlers aan de worker door te geven.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren