ドリル約20分
Next.jsドリル① 仕組みまるわかり
ページ・ルーティング・サーバーの関係を、図解で総点検
ReactドリルでReactの“部品”を体験しました。Next.jsは、そのReactを使って本物のWebサイトを組み立てる“全部入りキット”です。今日は手を動かす前に、仕組みを図解で総点検します(実際に動かすのはハンズオン初級編)。
このドリルは“読んで分かる”回
Next.jsはブラウザの中だけでは動かせないので、今日は仕組みの地図を頭に入れます。地図があると、初級編で実際に作るとき迷いません。
その1:フォルダがそのままURLになる
Next.js最大の特徴。**app フォルダの中の構成が、そのままWebサイトのURL(住所)になります。 ファイルを置くだけでページが生まれる——これをルーティング**(道案内)と呼びます。
| 置いたファイル | できるURL(住所) |
|---|---|
| app/page.tsx | /(トップページ) |
| app/about/page.tsx | /about |
| app/blog/page.tsx | /blog |
| app/contact/page.tsx | /contact |
page.tsx という決まった名前のファイルが「このフォルダのページの中身」です。初級②で「/about を作って」と頼んだとき、AIが置いていたのは app/about/page.tsx。あれはこの仕組みだったんです。
その2:全ページ共通の“額縁”——layout.tsx
各ページの中身が page.tsx。それを囲む共通の枠(ヘッダー・フッターなど)が layout.tsx です。額縁を1つ直すと全ページに反映——初級②で体験した「1つ直せば全部変わる」の正体がこれです。
page.tsx- そのページだけの中身。
layout.tsx- 全ページ共通の枠(ヘッダー/フッター)。
- 入れ子のlayout
- フォルダごとにlayoutを置くと、その区画だけの共通枠も作れる。
その3:ページの中身は“Reactの部品”でできている
page.tsxの中身は、Reactドリルでやったコンポーネントそのもの。だからNext.jsの前にReactを触っておくと、すっと入れます。下は、Next.jsのトップページの中身に近いイメージ(Reactミニ環境で動かせます)。
function App() {
return (
<main>
<h1>My App</h1>
<p>ファイルを置くだけでページができる。</p>
</main>
);
}✍️ その3:トップページの中身
これは Next.js の app/page.tsx の中身に近い形。h1 や p を書き換えて、トップページを作る感覚を味わおう。
プレビュー(打つとすぐ反映・初回は読み込みに数秒)
実際のNext.jsでは function App() の代わりに export default function Page() と書きますが、「HTMLのようなものを返す関数がページになる」という芯はまったく同じです。
その4:サーバーとブラウザの“分担”
無料講座で学んだ「サーバー=厨房、ブラウザ=客席」。Next.jsの嬉しさは、どちらの仕事も同じプロジェクトに書けることです。
- サーバー側(既定)
- 厨房。データベースから取る・秘密の鍵を使う“裏方”はここ。Next.jsでは何も付けなければこちら。
- クライアント側("use client")
- クリックや入力など“その場の反応”が要る画面は、ファイル先頭に "use client" と書く。
初級④⑤の意味が分かる
ログインのボタンやフォームの画面には "use client" が、データを安全に扱う部分はサーバー側に——初級④⑤では自然にこう分かれていました。今ならその理由が分かるはずです。
その5:作って→公開、の流れ
- コードをGitHubに置く(保管庫)。
- Vercelにつなぐ(公開ライン)。
- mainに反映すると、Vercelが自動でビルド&公開。
- 発行されたURLで、世界中から見られる。
この一連を、超初級ハンズオンでは1枚のHTMLで、初級ハンズオンではNext.jsで体験します。仕組みの地図は、これで完成です。
おさらい:今日の地図
- ルーティング
- appフォルダの構成=URL。page.tsxがページの中身。
- layout.tsx
- 全ページ共通の枠。1つ直せば全部変わる。
- コンポーネント
- ページの中身はReactの部品。
- サーバー/クライアント
- 裏方は既定、反応が要る画面は "use client"。
Next.jsドリル①・完成チェック
0 / 4🎉 言語別ドリル、コンプリート!
Next.jsの“地図”が頭に入りました。あとはハンズオン初級編で実際に手を動かすだけ。ドリルで概念を、ハンズオンで実物を——この順番が一番つまずきません。おつかれさまでした!