Next.js · Senior · Frage 55 von 75
Wie setzt man mit Cache Components einen Teilbaum bei Navigation über <Link> zurück, stellt ihn aber beim Zurück im Browser wieder her?
const { bfcacheId } = useRouter()
return <Fragment key={bfcacheId}>{children}</Fragment>- 1Den Teilbaum mit
useRouter().bfcacheIdals Key versehen - 2Bei jeder Navigation
router.refresh()aufrufen - 3Cache Components abschalten
Antwort zeigen
Richtige Antwort: Den Teilbaum mit useRouter().bfcacheId als Key versehen
Erklärung
Routen werden mit <Activity> versteckt statt unmountet. bfcacheId ändert sich bei push/replace, aber nicht bei Vor/Zurück, was der Semantik des bfcache im Browser entspricht.