⊗jsrxPmSDGRS 43 of 57 menu

Invio di dati dal server tramite richiesta GET in Redux

Quindi abbiamo un database con i dati. La prima cosa che faremo all'avvio della nostra applicazione Redux è recuperare i dati dei prodotti dal server. Per fare ciò, dobbiamo inviare una richiesta GET dalla nostra applicazione. Gestiamola lato server.

Apriamo la nostra applicazione con i prodotti, e in essa il file server.js. Per poter lavorare con le richieste HTTP, dobbiamo importare nel file diversi strumenti da msw, facciamolo:

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

Inoltre, apportiamo subito delle correzioni per la realtà, cioè i possibili ritardi di rete. Lasciamo che il valore del nostro ritardo artificiale sia 2 secondi, in modo da vedere come si caricano i dati. Scriviamolo dopo const PRODS_PER_SELLER = 2:

const ARTIFICIAL_DELAY_MS = 2000

E ora alla fine del file, prima dell'esportazione del worker, creiamo un array per i gestori delle richieste API:

export const handlers = []

E poi tra le parentesi quadre scriviamo il primo gestore per intercettare la richiesta GET dei prodotti:

export const handlers = [http.get()]

Come primo parametro per http.get passeremo un indirizzo falso, ad esempio '/fakeServer/products', e come secondo una callback asincrona:

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

Ora scriviamo il codice per questa callback. Con il suo aiuto, estrarremo tutti i prodotti dal database. Qui useremo anche la funzione serializeProduct, il cui codice abbiamo scritto nella lezione precedente. Passiamola in map. Poi creiamo un ritardo (come se la rete fosse lenta) e restituiamo in response gli oggetti con i dati dei prodotti in formato 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) }), ]

E ultima cosa. Abbiamo scritto il primo handler per il nostro worker, passiamo a questo worker l'array handlers. Per fare ciò, modifichiamo l'ultima riga di codice nel file in:

export const worker = setupWorker(...handlers)

Aprite la vostra applicazione con gli studenti, e in essa il file server.js. Importate nel file gli strumenti indicati da msw. Dopo aver studiato il materiale di questa lezione, create un array vuoto di gestori per intercettare le richieste. Scrivete in esso il codice per il gestore della richiesta GET degli studenti. Come percorso, usate '/fakeServer/students'.

Alla fine del file, non dimenticate di passare l'array dei gestori handlers al worker.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta