⊗jsrxPmSDGRS 43 of 57 menu

Senden von Daten vom Server per GET-Anfrage in Redux

Wir haben also eine Datenbank mit Daten. Das Erste, was wir beim Start unserer Redux-Anwendung tun werden, ist das Abrufen der Produktdaten vom Server. Dazu müssen wir aus unserer Anwendung eine GET-Anfrage senden. Lassen Sie uns diese auf der Serverseite verarbeiten.

Öffnen wir unsere Produktanwendung, und darin die Datei server.js. Um mit HTTP-Anfragen arbeiten zu können, müssen wir einige Werkzeuge aus msw in die Datei importieren, lassen Sie uns das tun:

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

Nehmen wir auch sofort Anpassungen an der Realität vor, also mögliche Netzwerkverzögerungen. Lassen Sie den Wert unserer künstlichen Verzögerung 2 Sekunden betragen, damit wir sehen, wie die Daten geladen werden. Schreiben wir sie nach const PRODS_PER_SELLER = 2:

const ARTIFICIAL_DELAY_MS = 2000

Und jetzt, am Ende der Datei, vor dem Export des Workers, legen wir ein Array für die API Anfragehandler an:

export const handlers = []

Und dann schreiben wir in die eckigen Klammern den ersten Handler zum Abfangen der GET-Anfrage für Produkte:

export const handlers = [http.get()]

Als ersten Parameter für http.get übergeben wir eine gefälschte Adresse, zum Beispiel '/fakeServer/products', und als zweiten einen asynchronen Callback:

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

Nun schreiben wir den Code für diesen Callback. Mit seiner Hilfe werden wir alle Produkte aus der Datenbank extrahieren. Hier verwenden wir auch die Funktion serializeProduct, deren Code wir in der letzten Lektion geschrieben haben. Lassen Sie uns sie in map übergeben. Dann fügen wir eine Verzögerung hinzu (als ob das Netzwerk langsam wäre) und geben in response die Objekte mit den Produktdaten als JSON zurück:

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

Und der letzte Schliff. Wir haben den ersten Handler für unseren Worker geschrieben, lassen Sie uns diesem Worker das Array handlers übergeben. Dazu ändern wir die letzte Zeile des Codes in der Datei in:

export const worker = setupWorker(...handlers)

Öffnen Sie Ihre Studentenanwendung, und darin die Datei server.js. Importieren Sie in die Datei die angegebenen Werkzeuge aus msw. Nachdem Sie den Stoff dieser Lektion studiert haben, erstellen Sie ein leeres Array für Handler zum Abfangen von Anfragen. Schreiben Sie darin den Code für den Handler der GET-Anfrage für Studenten. Als Pfad lassen Sie '/fakeServer/students' verwenden.

Vergessen Sie am Ende der Datei nicht, das Array der Handler handlers an den Worker zu übergeben.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen