React · Senior · Frage 1 von 75
Warum ist cache() von React in Server Components nützlich?
- 1Es dedupliziert Aufrufe mit denselben Argumenten innerhalb eines einzigen Requests
- 2Es behält das Ergebnis einer Funktion über Requests verschiedener Nutzer hinweg für immer
- 3Es cacht das JSX einer Komponente im Browser zwischen Seitenwechseln
Antwort zeigen
Richtige Antwort: Es dedupliziert Aufrufe mit denselben Argumenten innerhalb eines einzigen Requests
Erklärung
const getUser = cache(async (id) => db.user.find(id)) - mehrere Komponenten in einem Server-Rendering können getUser(1) aufrufen, und die Datenbankabfrage läuft einmal. Der Cache lebt nur innerhalb des Requests, sodass sich Daten verschiedener Nutzer nicht vermischen. Request-übergreifendes Caching macht man in Next.js mit 'use cache'.