Next.js 14 の App Router におけるルーティングの仕組みを詳しく解説します。基本的なページの作成から、動的ルート、キャッチオールルート、レイアウトの適用までを説明します。
Next.js 14 では App Router (app/
ディレクトリ) が標準となり、ルーティングの管理方法が従来の Page Router (pages/
ディレクトリ) から大きく変わりました。
本記事では、App Router のルーティングの基本から応用までを詳しく解説します。
App Router では、app/
ディレクトリの フォルダ構成 がそのままルーティングになります。
JSX// app/page.js export default function Home() { return <h1>ホームページ</h1>; }
app/page.js
→ /
app/about/page.js
→ /about
フォルダと page.js
の関係を意識することで、直感的にルートを作成できます。
URL の一部を 動的なパラメータ にする場合は、角括弧 [param]
を使う ことで対応可能です。
JSX// app/products/[id]/page.js export default function ProductPage({ params }) { return <h1>商品ID: {params.id}</h1>; }
/products/123
→ params.id = "123"
/products/apple
→ params.id = "apple"
動的ルートを使うことで、複数のページを一つのコンポーネントで対応 できます。
動的ルートの params
に 複数のパス要素を含める には、[...param]
を使います。
JSX// app/docs/[...slug]/page.js export default function DocsPage({ params }) { return <h1>ドキュメント: {params.slug.join("/")}</h1>; }
/docs/nextjs
→ params.slug = ["nextjs"]
/docs/nextjs/routing
→ params.slug = ["nextjs", "routing"]
複数のネストされたパスに対応したい場合に便利です。
App Router では layout.js
を使うことで ページ全体の共通レイアウト を定義できます。
JSX// app/layout.js export default function RootLayout({ children }) { return ( <html lang="ja"> <body> <nav>ナビゲーションバー</nav> {children} </body> </html> ); }
この layout.js
は、app/
以下の すべてのページに適用される ため、ヘッダーやフッターを共通化できます。
さらに、特定のフォルダごとに異なるレイアウトを適用することも可能 です。
JSX// app/dashboard/layout.js export default function DashboardLayout({ children }) { return ( <div> <h2>ダッシュボード</h2> {children} </div> ); }
app/layout.js
→ すべてのページに適用app/dashboard/layout.js
→ /dashboard
以下のページに適用ネストレイアウトを活用すると、コードの重複を避けつつ、統一感のあるデザインが可能になります。
Next.js 14 の App Router では、フォルダ構造がそのままルートになる直感的な設計 になっています。
✅ 学んだこと
app/
フォルダ内の page.js
をルートとして扱う[id]
を使って動的ルーティングを実装[...slug]
を使ってキャッチオールルートを作成layout.js
でネストされたレイアウトを適用今後の Next.js プロジェクトでは App Router を活用し、より柔軟なルーティングを設計しましょう。
回 | タイトル | リンク |
---|---|---|
第 1 回 | Page Router と App Router の違い | 詳 細 |
第 2 回 | App Router のルーティング | この記事 |
第 3 回 | App Router における Metadata の設定 | 詳 細 |
第 4 回 | OGP・Twitter 画像の自動設定 | 詳 細 |
第 5 回 | App Router における API ルートの基本 | 詳 細 |
第 6 回 | use server と use client の使い分け | 詳 細 |
第 7 回 | useContext の Provider の適用方法 | 詳 細 |
第 8 回 | next/link の基本と使い方 | 詳 細 |
第 9 回 | next/image の概要 | 詳 細 |
第 10 回 | next/navigation の使い方 | 詳 細 |
当サイトの情報は、一般的な参考情報として提供しております。
正確な情報の掲載に努めておりますが、その内容の正確性・完全性・最新性を保証するものではありません。
記事の内容をご利用の際は、ご自身の責任において判断し、必要に応じて専門家にご相談ください。
当サイトの情報の利用により生じたいかなる損害についても、一切の責任を負いかねますのでご了承ください。
※ 本ページでは、著作権法に基づき、適正な引用の範囲内でコンテンツを紹介しています。
オリジナルの情報は発信元をご確認ください。
もし問題がありましたら、こちら からお問い合わせください。