⚠️
Error: Hydration failed because the initial UI does not ~を解決
以下のようなメッセージが出ていました。
Error: Hydration failed because the initial UI does not match what was rendered on the server.
In HTML, <div> cannot be a child of <html>.
日本語に翻訳すると
エラー: 初期 UI がサーバー上でレンダリングされたものと一致しないため、ハイドレーションは失敗しました。
HTML では、<div> を <html> の子にすることはできません。
htmlの子はheadとbodyだけなのに別のタグがあることが原因のようでした。以下のチートシートが便利です。
コードは次のようになっていました。原因はToasterですね。(shadcnuiを使用しています。)
<html lang="ja">
<body className={inter.className}>
{children}
</body>
<Toaster />
</html>
次のようにbodyの中に入れたら解決しました。
<html lang="ja">
<body className={inter.className}>
{children}
<Toaster />
</body>
</html>
Discussion