カテゴリ: Next.js 更新日: 2026/04/04

Next.js Routingの基本をわかりやすく解説!初心者でも理解できるフォルダ構造とページ遷移

Next.js Routingの仕組み(フォルダ構造=ルーティング)
Next.js Routingの仕組み(フォルダ構造=ルーティング)

先生と生徒の会話形式で理解しよう

生徒

「先生、Next.jsでページを作るとき、どうやってURLに対応させるんですか?」

先生

「Next.jsでは、フォルダやファイルの構造がそのままURLになります。これをルーティングと呼びます。」

生徒

「フォルダやファイルを作るだけでURLができるんですか?」

先生

「はい、例えばpagesフォルダにabout.jsを作ると、自動で /about というURLでアクセスできるようになります。」

1. Next.jsのRoutingとは?

1. Next.jsのRoutingとは?
1. Next.jsのRoutingとは?

Next.jsのRoutingは、ページごとにURLを自動で割り当てる仕組みです。特別な設定をしなくても、pagesフォルダ内のファイル名がそのままURLになります。例えば、pages/contact.jsを作ると、ブラウザで http://localhost:3000/contact にアクセスできます。

2. 基本的なフォルダ構造とページの作り方

2. 基本的なフォルダ構造とページの作り方
2. 基本的なフォルダ構造とページの作り方

Next.jsのプロジェクトでは、pagesフォルダが中心です。ここに作ったファイルがそのままページになります。


pages/
├─ index.js      // トップページ → URL: /
├─ about.js      // Aboutページ → URL: /about
├─ contact.js    // Contactページ → URL: /contact
(pagesフォルダに作ったabout.jsは、ブラウザで /about にアクセスすると表示されます)

3. ネストしたフォルダで階層を作る

3. ネストしたフォルダで階層を作る
3. ネストしたフォルダで階層を作る

フォルダを作ることでURLに階層を作れます。例えば、ブログの記事ページを作る場合は以下のように構成します。


pages/
├─ blog/
│   ├─ index.js       // ブログ一覧 → /blog
│   └─ first-post.js  // 記事ページ → /blog/first-post
(blogフォルダのindex.jsは /blog、first-post.jsは /blog/first-post にアクセスできます)

4. 動的ルーティングの基本

4. 動的ルーティングの基本
4. 動的ルーティングの基本

Next.jsでは角括弧 [ ] を使うと、動的にURLを作ることができます。例えば、ユーザーIDによって表示内容を変える場合です。


pages/
├─ user/
│   └─ [id].js   // 動的ルーティング → /user/1, /user/2 など

import { useRouter } from "next/router";

export default function UserPage() {
  const router = useRouter();
  const { id } = router.query;

  return <h1>ユーザーID: {id}</h1>;
}
(/user/1 にアクセスすると「ユーザーID: 1」と表示されます)

5. Linkコンポーネントでページ遷移

5. Linkコンポーネントでページ遷移
5. Linkコンポーネントでページ遷移

Next.jsでは、next/linkを使ってページ間を移動できます。HTMLのタグの代わりにを使うことで、画面遷移が高速化されます。


import Link from "next/link";

export default function Home() {
  return (
    <div>
      <h1>ホームページ</h1>
      <Link href="/about">Aboutページへ</Link>
    </div>
  );
}
(リンクをクリックするとAboutページに高速で遷移します)

6. APIルートとルーティング

6. APIルートとルーティング
6. APIルートとルーティング

Next.jsではpages/apiフォルダにファイルを作るとAPIとして動かせます。URLはファイル名に対応します。


pages/
├─ api/
│   └─ hello.js   // URL: /api/hello

export default function handler(req, res) {
  res.status(200).json({ message: "Hello Next.js API!" });
}
(/api/hello にアクセスするとJSON形式で { "message": "Hello Next.js API!" } が返ってきます)

7. まとめと補足ポイント

7. まとめと補足ポイント
7. まとめと補足ポイント

Next.jsのRoutingは、基本的にファイルとフォルダ構造がURLになるシンプルな仕組みです。静的ページも動的ページも簡単に作成でき、Linkコンポーネントを使うとページ遷移も高速です。APIルートも同じ考え方でURLを管理できます。

初心者の方は、まずpagesフォルダにindex.jsを作ってトップページを表示し、徐々にフォルダを追加してページを増やす練習をすると理解しやすいです。

まとめ

まとめ
まとめ

Next.jsのRoutingは、初心者でも理解しやすい仕組みで、フォルダやファイルの構造がそのままURLとして反映される点が特徴です。pagesフォルダ内にファイルを作成するだけで自動的にURLが割り当てられるため、複雑な設定をせずにウェブページを作成できます。例えば、pages/about.jsを作ると /about にアクセス可能になり、トップページは index.js が / に対応します。また、フォルダを作ることで階層的なURLを作れるため、ブログや商品ページなどの構造化されたページ作成も容易です。

動的ルーティングを活用することで、ユーザーIDや記事IDなど変動する情報に応じたページを簡単に生成できます。角括弧 [ ] を使うだけで、/user/1/user/2 のようにURLパラメータを受け取れるページを作成可能です。これにより、CMSのようなデータ駆動型ページやユーザーごとのカスタマイズページの構築もスムーズに行えます。

ページ遷移には next/link を使用することで、従来の タグに比べてクライアントサイドでの高速なページ移動が実現できます。ユーザーの操作体験を向上させるだけでなく、SEOにおいても内部リンクが適切に構築されるため、検索エンジンからの評価にも有利です。

APIルートも同様に pages/api フォルダ内にファイルを作るだけで自動的にURLが設定され、サーバーサイドでの処理を簡単に行えます。JSON形式でデータを返すAPIをすぐに構築できるため、フロントエンドとのデータ連携や動的コンテンツ表示も効率的に行えます。

まとめると、Next.jsのRoutingは以下のポイントを押さえると理解が深まります。まず、ファイル・フォルダ構造がURLになること、次に動的ルーティングで変動するURLに対応できること、Linkコンポーネントで高速ページ遷移が可能なこと、そしてAPIルートによるバックエンド処理の実装も統合的に管理できることです。この流れを踏まえて、まずはトップページを作成し、徐々にフォルダや動的ルートを追加していく練習をすると効果的です。


import Link from "next/link";

export default function Home() {
  return (
    <div>
      <h1>Next.jsルーティング入門</h1>
      <Link href="/about">Aboutページへ</Link>
      <Link href="/blog/first-post">記事ページへ</Link>
    </div>
  );
}
(画面に「Next.jsルーティング入門」と表示され、リンクをクリックするとAboutページや記事ページに高速で遷移します)
先生と生徒の振り返り会話

生徒

「先生、今日のNext.jsのルーティングって、結局どんな仕組みなんでしょうか?」

先生

「簡単に言えば、フォルダとファイルの構造がそのままURLになるんだ。だからファイルを作るだけでページができるし、URLも自動で決まる。」

生徒

「動的なページも簡単に作れるんですね?」

先生

「そうだよ。角括弧を使うだけで、ユーザーIDや記事IDなど変化するURLに対応できるんだ。APIルートも同じ考え方で管理できるから、フロントとバックの連携もスムーズになる。」

生徒

「リンクをクリックしたときの遷移も速いって聞きました。」

先生

「うん、next/linkを使うとクライアントサイドでページを切り替えるから、従来のリンクよりずっと速い。これでユーザーの操作感も良くなるんだ。」

生徒

「なるほど、まずはトップページを作って、それからフォルダや動的ルートを増やすのが良さそうですね。」

先生

「そうだね。小さく始めて、徐々に複雑なページ構成や動的ページを作っていくと、Next.jsのRoutingの理解がどんどん深まるよ。」

カテゴリの一覧へ
新着記事
New1
React
React Hooksのベストプラクティス完全ガイド!初心者でもわかるuseStateとuseEffectの使い方
New2
React
React Context API活用のベストプラクティスまとめ!初心者でも迷わない設計のコツ
New3
React
Reactで理解するuseStateのジェネリック型入門!型安全なState管理を初心者向けにやさしく解説
New4
React
Reactの条件分岐の使い方を完全ガイド!初心者でもわかるReactの条件分岐
人気記事
No.1
Java&Spring記事人気No1
React
Reactとは?初心者でもわかるReact.jsの基本概念と特徴をやさしく解説
No.2
Java&Spring記事人気No2
React
ReactとTypeScriptの環境構築をやさしく解説!Viteとtsconfigの設定も丁寧に紹介
No.3
Java&Spring記事人気No3
React
Reactの学習ロードマップ!初心者が最短で習得する流れを完全ガイド
No.4
Java&Spring記事人気No4
React
React Context APIの値を更新する方法!useStateと組み合わせてデータを動かす初心者ガイド
No.5
Java&Spring記事人気No5
React
React Context APIの分割方法を解説!パフォーマンスを高めるベストプラクティス
No.6
Java&Spring記事人気No6
Next.js
Next.js CSRとは?クライアント側で描画する仕組みを初心者でもわかるように解説
No.7
Java&Spring記事人気No7
Next.js
Next.js ISR(Incremental Static Regeneration)の仕組みを徹底解説!初心者でもわかるrevalidateによる再生成
No.8
Java&Spring記事人気No8
React
ReactのContext APIでログイン状態を管理する方法を完全解説!初心者でもわかる認証機能の実装