⊗jsrxPmSDGRS 43 of 57 menu

Datu sūtīšana no servera pēc GET pieprasījuma Redux

Tātad mums ir datu bāze. Pirmā lieta, ko mēs darīsim, palaižot mūsu Redux lietotni, ir iegūt produktu datus no servera. Lai to izdarītu, mums no mūsu lietotnes ir jāsūta GET pieprasījums. Apstrādāsim to servera pusē.

Atvērsim mūsu produktu lietotni, un tajā failu server.js. Lai strādātu ar HTTP pieprasījumiem, mums jāimportē failā vairāki instrumenti no msw, darīsim to:

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

Arī uzreiz veiksim labojumus realitātei, tas ir, iespējamos tīkla aizkaves. Lai mūsu mākslīgās aizkaves vērtība būtu 2 sekundes, lai mēs redzētu, kā ielādējas dati. Uzrakstīsim to pēc const PRODS_PER_SELLER = 2:

const ARTIFICIAL_DELAY_MS = 2000

Un tagad faila beigās pirms eksportēšanas izveidosim masīvu API pieprasījumu apstrādātājiem:

export const handlers = []

Un tad kvadrātiekavās uzrakstīsim pirmo apstrādātāju GET pieprasījuma pārtveršanai produktiem:

export const handlers = [http.get()]

Pirmo parametru http.get mēs padodam kādu viltus adresi, piemēram '/fakeServer/products', un otro asinhrono callback:

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

Tagad uzrakstīsim kodu šim callback. Ar tā palīdzību mēs iegūsim visus produktus no datu bāzes. Šeit mēs arī izmantosim funkciju serializeProduct, kuras kodu mēs uzrakstījām iepriekšējā nodarbībā. Padodam to map. Pēc tam veiksim aizkavi (it kā tīkls lēnām strādā) un atgriezīsim response objektus ar produktu datiem JSON formātā:

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

Un pēdējais. Mēs uzrakstījām pirmo handler mūsu workerim, padodam šim workerim masīvu handlers. Lai to izdarītu, labojam pēdējo koda rindu failā uz:

export const worker = setupWorker(...handlers)

Atveriet savu studentu lietotni, un tajā failu server.js. Importējiet failā norādītos instrumentus no msw. Izpētījuši šīs nodarbības materiālu, izveidojiet tukšu apstrādātāju masīvu pieprasījumu pārtveršanai. Uzrakstiet tajā kodu studentu GET pieprasījuma apstrādātājam. Kā ceļu izmantojiet '/fakeServer/students'.

Faila beigās neaizmirstiet padot apstrādātāju masīvu handlers workerim.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt