⊗jsrxPmSDGRS 43 of 57 menu

Slanje podataka sa servera preko GET zahteva u Redux-u

Dakle, imamo bazu podataka. Prva stvar koju ćemo uraditi pri pokretanju naše Redux aplikacije je da dobijemo podatke o proizvodima sa servera. Za to je potrebno da iz naše aplikacije pošaljemo GET zahtev. Hajde da ga obradimo na strani servera.

Otvorimo našu aplikaciju sa proizvodima, a u njoj datoteku server.js. Da bismo mogli da radimo sa HTTP zahtevima, potrebno je da u datoteku importujemo nekoliko alata iz msw, hajde da to uradimo:

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

Takođe, odmah ćemo napraviti izmene zbog realnosti, odnosno mogućih kašnjenja u mreži. Neka vrednost naše veštačke pauze bude 2 sekunde, kako bismo videli kako se podaci učitavaju. Napišimo je posle const PRODS_PER_SELLER = 2:

const ARTIFICIAL_DELAY_MS = 2000

A sada na kraju datoteke, pre izvoza radnika, kreiraćemo niz za API rukovaoce zahteva:

export const handlers = []

I zatim u uglastim zagradama napišimo prvi rukovalac za presretanje GET zahteva za proizvode:

export const handlers = [http.get()]

Kao prvi parametar za http.get prosledićemo neku lažnu adresu, na primer '/fakeServer/products', a kao drugi asinhroni callback:

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

Sada ćemo napisati kod za ovaj callback. Sa njegovom pomoću ćemo izvući sve proizvode iz baze podataka. Ovde ćemo takođe koristiti funkciju serializeProduct, čiji smo kod napisali na prethodnoj lekciji. Hajde da je prosledimo u map. Zatim ćemo napraviti pauzu (kao da mreža sporira) i vratiti u response objekte sa podacima o proizvodima u JSON formatu:

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

I na kraju. Napisali smo prvi handler za našeg radnika, hajde da tom radniku prosledimo niz handlers. Za to ćemo izmeniti poslednju liniju koda u datoteci na:

export const worker = setupWorker(...handlers)

Otvorite vašu aplikaciju sa studentima, a u njoj datoteku server.js. Importujte u datoteku navedene alate iz msw. Proučivši materijal ove lekcije, kreirajte prazan niz rukovalaca za presretanje zahteva. Napišite u njemu kod za rukovalac GET zahteva za studente. Kao putanja neka vam bude '/fakeServer/students'.

Na kraju datoteke ne zaboravite da prosledite niz rukovalaca handlers radniku.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij