⊗jsrxPmSDGRS 43 of 57 menu

Dërgimi i të dhënave nga serveri përmes kërkesës GET në Redux

Pra, ne kemi një bazë të dhënash. Gjëja e parë që ne do të bëjmë kur nisim aplikacionin tonë Redux është të marrim të dhënat e produkteve nga serveri. Për këtë, ne duhet të dërgojmë një kërkesë GET nga aplikacioni ynë. Le ta trajtojmë atë në anën e serverit.

Le të hapim aplikacionin tonë me produktet, dhe në të skedarin server.js. Në mënyrë që të punojmë me kërkesat HTTP, ne duhet të importojmë në skedar disa mjete nga msw, le ta bëjmë këtë:

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

Gjithashtu, le të bëjmë menjëherë rregullimet për realitetin, domethënë vonesat e mundshme në rrjet. Le të jetë vlera e vonesës sonë artificiale 2 sekonda, në mënyrë që të mund të shohim se si ngarkohen të dhënat. Le ta shkruajmë atë pas const PRODS_PER_SELLER = 2:

const ARTIFICIAL_DELAY_MS = 2000

Dhe tani, në fund të skedarit, para eksportit të worker, le të krijojmë një grup për trajtuesit e kërkesave të API:

export const handlers = []

Dhe pastaj, brenda kllapave katrore, le të shkruajmë trajtuesin e parë për ndërprerjen e kërkesës GET për produktet:

export const handlers = [http.get()]

Si parametër të parë për http.get, ne do të kalojmë ndonjë adresë të rreme, për shembull '/fakeServer/products', dhe si të dytë, një callback asinkron:

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

Tani, le të shkruajmë kodin për këtë callback. Me ndihmën e tij, ne do të nxjerrim të gjitha produktet nga DB. Këtu do të përdorim gjithashtu funksionin serializeProduct, kodin e të cilit e kemi shkruar në seancën e kaluar. Le ta kalojmë atë në map. Pastaj, le të bëjmë një vonesë (sikur rrjeti është i ngadaltë) dhe të kthejmë në response objektet me të dhënat e produkteve në formën 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) }), ]

Dhe e fundit. Ne kemi shkruar trajtuesin e parë për worker-in tonë, le t'ia kalojmë këtij worker grupin handlers. Për këtë, le të korrigjojmë rreshtin e fundit të kodit në skedar në:

export const worker = setupWorker(...handlers)

Hapni aplikacionin tuaj me studentët, dhe në të skedarin server.js. Importoni në skedar mjetet e specifikuara nga msw. Duke studiuar materialin e këtij mësimi, krijoni një grup bosh trajtuesish për ndërprerjet e kërkesave. Shkruani në të kodin për trajtuesin e kërkesës GET për studentët. Si rrugë, le të keni '/fakeServer/students'.

Në fund të skedarit, mos harroni të kaloni grupin e trajtuesve handlers tek worker.

Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo