本文へ移動
verified onnext@16.3.3react@19
最終検証日 2026-08-27
Next.js道場

このサイトについて

Next.js道場は、App Router を解説と問題の両方で学ぶ日本語のサイトです。

何をするサイトか

Next.js でつまずくところは、用語を知らないことではなく、 「この要件のとき、どれを使えばいいのか」が判断できないことに集中しています。 このサイトは、その判断を何度でも練習できる場所を目指しています。

読むだけで終わらせないため、すべての解説の末尾に、その場で解ける問題を置いています。

情報の扱い

  • 出典は一次情報だけです。Next.js 公式ドキュメント・公式ブログ・ React 公式・MDN・各種標準仕様に限っています。個人ブログや二次情報を根拠にしません
  • 各ページに対象バージョンと確認日を出しています。 単なる更新日ではなく、そのバージョンで実際に内容を確かめた日という意味です
  • コードを含む問題は、実際の Next.js 16.3.3 でビルドして挙動を確かめています。解説と実物が食い違っていたら、解説のほうを直します

どうやって確かめているか

エラーの文言や「このコードはどうなるか」を、記憶や他所の記事から書き写していません。 問題に載せたコードを本物の Next.js 16.3.3 でビルドし、 宣言した結果になるかを毎回照合しています。食い違ったら公開できません。

この仕組みで実際に何度も間違いが見つかっています。たとえば、 広く書かれている「エラーの文言」が現在のバージョンでは別の文だったこと、 「NEXT_PUBLIC_ が付いていない環境変数はブラウザに出ない」という説明が、 プリレンダーされた HTML では成立しないこと。どちらも実物を見るまで気づけませんでした。

ビルドでは確かめられないもの(hydration の不一致など)は、何をどう確かめたかをページに書いて出しています。 検証の程度を読む人から隠さない、という方針です。

いま扱っている範囲

Server Component と Client Component の境界に集中しています。 ここは Next.js でつまずく場所が集中していて、しかも 「動いてしまうから気づけない」種類の誤りが多いところです。

レンダリングやキャッシュ、Pages Router からの移行は、 この範囲を厚くしたあとに広げます。手を広げて薄くするより、 1つの範囲で確実に頼れるほうが役に立つと考えています。

広告について

運営費のために、解説とエラー辞典のページに Google AdSense の広告を出しています。 問題を解いている最中の画面には広告を出しません。判断の邪魔になるためです。 広告の有無で解説の内容を変えることはありません。 Cookie の扱いはプライバシーポリシーに書いています。

間違いを見つけたら

お問い合わせから教えてください。 どのページのどの記述かを書いていただけると助かります。

資格ではありません

このサイトの問題やテストは、公的な資格や認定とは一切関係のない、独自のものです。 結果が何かを証明するものではありません。

商標について

Next.js は Vercel, Inc. の商標です。当サイトは Vercel, Inc. と提携していません。