Gatsby-Ghost Suche: Redis und RediSearch - Teil 3
Die React Komponente des Gatsby Layouts den neuen Gegebenheiten anzupassen ist nicht aufwendig und schnell erledigt.
Im ersten Blog Post haben wir das "gatsby-plugin-search" um eine Redis Schnittstelle erweitert und im Zweiten haben wir uns um den serverseitigen Code gekümmert. Nun bleibt lediglich über der React Suchkomponente für unser Gatsby Layout zu erklären wie sie die Suchergebnisse vom Server bekommt.
React Komponente
An der Suchkomponente müssen wir nicht sehr viel machen. Vorab können wir in der ./gatsby-config.js
das Plugin gatsby-plugin-workerize-loader enfernen.
Entfernen des Web Workers
Den import für den Webworker sowie die Funktion, die ihn instanziert, werden nicht mehr benötigt und können gelöscht oder auskommentiert werden.
Das onChange
Event anpassen
In der Funktion vom onChange
Event des Input Elements haben wir einige Zeilen zu ändern. Den Web Worker brauchen wir nicht mehr, weil die Fetch API standardmäßig asynchron ausgeführt wird. Da der Server ein Objekt anstelle eines Arrays zurückgibt, erstellen wir mit Object.entries()
ein Array mit Key-Value-Paaren aus dem Objekt und speichern das in dem result[]
Array.
JSX im return
Da nun unser result[]
Array ein anderen Aufbau als zuvor hat, passen wir die Stelle an an der wir durch ihn iterieren.
Darstellung im Browser
Weitere Blog Posts aus dieser Serie
- Gatsby-Ghost Suche: React Komponente
- Gatsby-Ghost Suche: Webworker
- Gatsby-Ghost Suche: Content indizieren
- Gatsby-Ghost Suche: Redis und RediSearch (Teil 1)
- Gatsby-Ghost Suche: Redis und RediSearch (Teil 2)
- Gatsby-Ghost Suche: Redis und RediSearch (Teil 3)