Next.js · Middle · Frage 17 von 75
Warum packt man eine Komponente mit useSearchParams() in <Suspense>?
- 1Ohne Suspense liefert
useSearchParamsauf dem Client immernull - 2Das ist nur für korrektes Verhalten in Safari und iOS nötig
- 3Sonst fällt alles bis zur nächsten Grenze aus dem Prerendering
Antwort zeigen
Richtige Antwort: Sonst fällt alles bis zur nächsten Grenze aus dem Prerendering
Erklärung
Query-Parameter sind beim Prerendering unbekannt. Liegt eine Suspense-Grenze dicht an der Komponente, kommt der Rest der Seite ins statische HTML, und nur dieses Stück rendert auf dem Client. Ohne Grenze wird ein großer Teil des Baums auf dem Client gerendert, und Next.js warnt davor.