Next.js · Middle · Pytanie 14 z 75
Jak uniknąć podwójnego zapytania do bazy, jeśli generateMetadata i strona wywołują getUser(id)?
- ✓Poprawna odpowiedź: Opakować funkcję w
cache()z React - deduplikacja w obrębie jednego żądania - 2Trzymać użytkownika w globalnej zmiennej modułu na serwerze
- 3Przekazać dane z
generateMetadatado strony przez jej propsy
Wyjaśnienie
cache() memoizuje wywołania z tymi samymi argumentami na czas jednego renderu serwerowego. fetch z identycznymi parametrami Next.js deduplikuje sam, ale ORM-y i SDK potrzebują cache(). Zmienna globalna pomieszałaby dane różnych użytkowników.