⊗jsrxPmSDGRS 43 of 57 menu

Andmete saatmine serverist GET-päringuga Reduxis

Meil on andmebaas andmetega. Esimene asi, mida me teeme oma Redux rakenduse käivitamisel - on toodetega andmete saamine serverist. Selleks peame oma rakendusest saatma GET-päringu. Vaatame selle töötlemist serveri poolel.

Avame oma toodetega rakenduse, ja selles faili server.js. HTTP-päringutega töötamiseks peame importima faili mitmeid tööriistu msw-st, teeme selle:

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

Samuti teeme kohe parandused reaalsusele, st võimalikud viivitused võrgus. Olgu meie tehisliku viivituse väärtus 2 sekundit, et näeksime kuidas andmed laaduvad. Kirjutame selle peale const PRODS_PER_SELLER = 2:

const ARTIFICIAL_DELAY_MS = 2000

Ja nüüd faili lõpus enne workeri eksporti loome massiivi API päringute töötlejate jaoks:

export const handlers = []

Ja siis nurksulgudes kirjutame esimese töötleja GET-päringu produktide jaoks:

export const handlers = [http.get()]

Esimeseks parameetriks http.get edastame mõne feik-aadressi, näiteks '/fakeServer/products', ja teiseks asünkroonse callbacki:

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

Nüüd kirjutame selle callbacki koodi. Selle abil eraldame kõik tooted andmebaasist. Siin kasutame ka funktsiooni serializeProduct, mille kood me kirjutasime eelmisel tunnil. Edastame selle map-i. Seejärel teeme viivituse (justkui võrk aeglustub) ja tagastame response-is objektid tooteandmetega JSON-vormingus:

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

Ja viimane. Kirjutasime esimese handleri oma workerile, edastame sellele workerile massiivi handlers. Selleks parandame viimase rea koodis failis järgmiselt:

export const worker = setupWorker(...handlers)

Avage oma õpilastega rakendus, ja selles fail server.js. Importige faili näidatud tööriistad msw-st. Uurides selle tunni materjali, looge tühi massiiv päringute töötlejate jaoks. Kirjutage selles kood GET-päringu õpilaste töötlejale. Teena olgu teil '/fakeServer/students'.

Faili lõpus ärge unustage edastada töötlejate massiivi handlers workerile.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu