⊗jsrxPmSDGRS 43 of 57 menu

Sending data from the server via GET request in Redux

Så vi har en database med data. Den første tingen vi skal gjøre når vi starter Redux-applikasjonen vår er å hente produktdataene fra serveren. For å gjøre dette må vi sende en GET-forespørsel fra applikasjonen vår. La oss håndtere den på serversiden.

La oss åpne produktapplikasjonen vår, og i den filen server.js. For å kunne arbeide med HTTP-forespørsler, må vi importere flere verktøy fra msw i filen, la oss gjøre dette:

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

La oss også justere for virkeligheten, dvs. mulige forsinkelser i nettverket. La verdien av vår kunstige forsinkelse være 2 sekunder, slik at vi kan se hvordan dataene lastes inn. La oss skrive den etter const PRODS_PER_SELLER = 2:

const ARTIFICIAL_DELAY_MS = 2000

Og nå, på slutten av filen før eksporten av worker-en, la oss opprette en matrise for API- behandlere for forespørsler:

export const handlers = []

Og deretter i hakeparentesene skriver vi den første behandleren for å fange opp GET-forespørselen for produkter:

export const handlers = [http.get()]

Som første parameter til http.get sender vi en falsk adresse, for eksempel '/fakeServer/products', og som den andre en asynkron callback:

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

La oss nå skrive koden for denne callback-funksjonen. Med dens hjelp vil vi hente alle produktene fra databasen. Her vil vi også bruke funksjonen serializeProduct, hvis kode vi skrev forrige leksjon. La oss sende den til map. Deretter lager vi en forsinkelse (som om nettverket er tregt) og returnerer i response objekter med produktdata som 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) }), ]

Og til slutt. Vi har skreven den første handler-en for worker-en vår, la oss sende denne worker-en matrisen handlers. For å gjøre dette endrer vi den siste linjen i filen til:

export const worker = setupWorker(...handlers)

Åpne studentapplikasjonen din, og i den filen server.js. Importer de angitte verktøyene fra msw i filen. Etter å ha studert materialet i denne leksjonen, opprett en tom matrise med behandlere for å fange opp forespørsler. Skriv i den koden for behandleren for GET-forespørselen for studenter. Som sti, la det være '/fakeServer/students'.

På slutten av filen, ikke glem å sende matrisen med behandlere handlers til worker-en.

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