⊗jsrxPmSDGRS 43 of 57 menu

Kutuma Data kutoka kwa Seva kupitia Ombi la GET kwenye Redux

Kwa hivyo tuna hifadhidata yenye data. Jambo la kwanza tutakalofanya wakati wa kuzindua programu yetu ya Redux ni kupata data za bidhaa kutoka kwa seva. Ili kufanya hivyo, tunahitaji kutuma ombi la GET kutoka kwenye programu yetu. Wacha tulikabiliane nalo upande wa seva.

Wacha tufungue programu yetu ya bidhaa, na ndani yake faili server.js. Ili kufanya kazi na maombi ya HTTP, tunahitaji kuingiza kwenye faili vifaa kadhaa kutoka kwa msw, wacha tufanye hivyo:

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

Pia hebu tufanye marekebisho ya ukweli mara moja, yaani ucheleweshaji unaowezekana kwenye mtandao. Hebu thamani ya ucheleweshaji wetu wa bande iwe 2 sekunde, ili tuweze kuona jinsi data inapopakuliwa. Hebu tuandike baada ya const PRODS_PER_SELLER = 2:

const ARTIFICIAL_DELAY_MS = 2000

Sasa mwishoni mwa faili kabla ya kuhamisha mfanyakazi hebu tuweke safu ya API vichakataji vya maombi:

export const handlers = []

Kisha kwenye mabano mraba tuandike kichakataji cha kwanza cha kukamata ombi la GET la bidhaa:

export const handlers = [http.get()]

Kigezo cha kwanza kwa http.get tutapitisha anwani bande, kwa mfano '/fakeServer/products', na cha pili kitendo cha wakati usioainishwa kinachofuatana:

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

Sasa tuandike msimbo wa kitendo hiki kinachofuatana. Kwa kusaidia kwake tutachota bidhaa zote kutoka kwa Hifadhidata. Hapa pia tutatumia kitendo serializeProduct, msimbo ambao tuliandika kwenye somo lilopita. Wacha tupitishe kwenye map. Kisha tufanye ucheleweshaji (kana kwamba mtandao unakwama) na turudishe kwenye response vitu vyenye data ya bidhaa kwa mfumo wa 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) }), ]

Na ya mwisho. Tumeandika kichakataji cha kwanza kwa mfanyakazi wetu, wacha tupitishe kwa mfanyakazi huyu safu handlers. Ili kufanya hivyo, hebu tusahihishie mstari wa mwisho wa msimbo kwenye faili kuwa:

export const worker = setupWorker(...handlers)

Fungua programu yako ya wanafunzi, na ndani yake faili server.js. Ingiza kwenye faili vifaa vilivyoainishwa kutoka kwa msw. Baada ya kusoma nyenzo za somo hili, unda safu tupu ya vichakataji kwa vikamato vya maombi. Andika ndani yake msimbo wa kichakataji cha ombi la GET la wanafunzi. Kama njia hebu uwe na '/fakeServer/students'.

Mwishoni mwa faili usisahau kupitisha safu ya vichakataji handlers kwa mfanyakazi.

Kiswahili
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Tunatumia kuki kwa ajili ya uendeshaji wa tovuti, uchambuzi na ubinafsishaji. Usindikaji wa data unafanyika kulingana na Sera ya Faragha.
kubali yote sanidi kataa