React · Senior · Frage 6 von 75
Welcher Code beim Rendern verursacht typischerweise einen Hydration-Fehler?
- 1
new Date().toLocaleTimeString()oder ein Zweigtypeof window !== 'undefined' - 2Ein Aufruf von
useMemomit leerem Abhängigkeitsarray in einer Client-Komponente - 3
useStatemit einem Anfangswert aus Props, die vom Server kommen
Antwort zeigen
Richtige Antwort: new Date().toLocaleTimeString() oder ein Zweig typeof window !== 'undefined'
Erklärung
Server und Client müssen dasselbe HTML rendern. Uhrzeit, Zufallszahlen, die Prüfung von window, localStorage und die Browser-Locale liefern unterschiedliche Ergebnisse. Zeig reine Client-Werte nach dem Mounten (ein Effekt oder useSyncExternalStore mit getServerSnapshot). Für unvermeidbare Textunterschiede (ein Zeitstempel) gibt es suppressHydrationWarning.