Uncaught Error: invariant expected app router to be mountedの対処法【Next.js】
Next.jsで画面が全く表示されないことがあります。
特にコンパイルエラーも出ていないのに、なぜ…
結論:<html><body>タグがあるか確認しよう
こういった場合、コンパイル時には問題が無いのだが、コンソールでエラーを吐いている場合があります。
開発者ツールで確認してみると真っ赤になっていました…。
これを修正するためには、ルートページにhtmlやbodyタグが書かれているか確認しましょう。
タグを追加してやると解消する可能性があります。
Next.jsのApp Routing
App RoutingはNext.js13から導入されたルーティング機能であり、ツリー上に構築されたディレクトリがその構成のままURLに変換されます。
そしてその最上位のツリー(ルートページ)には、htmlタグとbodyタグを記載する必要があります。
確かに今回のエラーも、App Routingを実装した際に発生しました。
// app/layout.tsx
import './globals.css'
import Header from '@/components/header';
<html lang="ja">
<body>
<Header />
<main>{children}</main>
</body>
</html>
上記のようにすると解消しました。
関連記事
【Next.js】shadcn-uiを使ってUIを簡単実装する
shadcn-ui(シャッドシーエヌユーアイ)は、アプリにコンポーネントを貼り付 ...
Git,Githubの使い方まとめ
Gitを使ったソースのバージョン管理を初心者がまとめてみます。
【JS】ラジオボタン で表示・非表示を切り替える
入力フォームで選択した内容によって、表示・非表示を切り替えるJavaScript
対象年齢は5歳から。遊んで身に付くプログラミング【ラッシュアワー】
もし子どもの頃からプログラミングが身近にあったら、難しいとは思わないでしょう。5 ...
【Rails】リソースフルルートにおけるpath_names,as,collection,memberオプションを分かりやすく整理する
どうも、てーやまです。 前回に引き続き、Railsのルーティング「リソースフルル ...
ディスカッション
コメント一覧
まだ、コメントがありません