Next.js · Middle · Frage 14 von 75
Wie vermeidet man eine doppelte DB-Abfrage, wenn generateMetadata und die Seite beide getUser(id) aufrufen?
- 1Die Funktion in Reacts
cache()packen - Deduplizierung innerhalb eines Requests - 2Den Nutzer in einer globalen Variablen auf Modulebene auf dem Server speichern
- 3Die Daten aus
generateMetadataüber ihre Props an die Seite übergeben
Antwort zeigen
Richtige Antwort: Die Funktion in Reacts cache() packen - Deduplizierung innerhalb eines Requests
Erklärung
cache() memoisiert Aufrufe mit gleichen Argumenten für die Dauer eines Server-Renderings. fetch mit identischen Parametern dedupliziert Next.js selbst, ORMs und SDKs brauchen aber cache(). Eine globale Variable würde Daten verschiedener Nutzer vermischen.