⊗jsrxPmSDGRS 43 of 57 menu

Տվյալների ուղարկում սերվերից GET-հարցումով Redux-ում

Այսպիսով, մենք ունենք տվյալների բազա: Առաջին բանը, որը մենք կանենք մեր Redux հավելվածը գործարկելիս, ապրանքների տվյալները ստանալն է սերվերից: Դրա համար մեզ անհրաժեշտ է մեր հավելվածից ուղարկել GET-հարցում: Եկեք մշակենք այն սերվերի կողմում:

Բացենք մեր ապրանքներով հավելվածը, իսկ դրա մեջ server.js ֆայլը: Որպեսզի աշխատենք HTTP-հարցումների հետ, մեզ անհրաժեշտ է ներմուծել ֆայլում մի քանի գործիքներ msw-ից, եկեք անենք դա:

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

Նաև անմիջապես ուղղումներ կատարենք իրականությանը համապատասխան, այսինքն՝ ցանցում հնարավոր ուշացումներ: Թող մեր արհեստական ուշացման արժեքը կազմի 2 վայրկյան, որպեսզի մենք տեսնենք, թե ինչպես են տվյալները բեռնվում: Գրենք այն const PRODS_PER_SELLER = 2-ից հետո:

const ARTIFICIAL_DELAY_MS = 2000

Իսկ այժմ ֆայլի վերջում, աշխատողը էքսպորտելուց առաջ սահմանենք զանգված API հարցումների մշակիչների համար:

export const handlers = []

Այնուհետև քառակուսի փակագծերում գրենք առաջին մշակիչը ապրանքների GET-հարցման բռնելու համար:

export const handlers = [http.get()]

http.get-ի համար որպես առաջին պարամետր մենք կփոխանցենք ինչ-որ կեղծ հասցե, օրինակ '/fakeServer/products', իսկ երկրորդը ասինխրոն callback:

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

Այժմ գրենք կոդ այս callback-ի համար: Օգտագործելով այն, մենք կարդալու ենք բոլոր ապրանքները տվյալների բազայից: Այստեղ մենք նաև կօգտագործենք serializeProduct ֆունկցիան, որի կոդը մենք գրել էինք նախորդ դասին: Եկեք փոխանցենք այն map-ի մեջ: Այնուհետև կատարենք ուշացում (կարծես թե ցանցը դանդաղ է աշխատում) և վերադարձնենք response-ում ապրանքների տվյալներով օբյեկտները 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) }), ]

Եվ վերջինը: Մենք գրել ենք առաջին handler-ը մեր աշխատողի համար, եկեք փոխանցենք այս աշխատողին handlers զանգվածը: Դրա համար ուղղենք ֆայլի վերջին տողը հետևյալ կոդի՝

export const worker = setupWorker(...handlers)

Բացեք ձեր ուսանողներով հավելվածը, իսկ դրա մեջ server.js ֆայլը: Ներմուծեք ֆայլում նշված գործիքները msw-ից: Ուսումնասիրելով այս դասի նյութը, ստեղծեք դատարկ զանգված հարցումների բռնելու մշակիչների համար: Գրեք դրա մեջ կոդ ուսանողների GET-հարցման մշակիչի համար: Որպես ուղի, թող ձեր մոտ լինի '/fakeServer/students':

Ֆայլի վերջում մի մոռացեք փոխանցել handlers մշակիչների զանգվածը աշխատողին:

Հայերեն
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել