【8章】Next.js基礎学習+課題の振り返り
公開: 2026年01月08日
8章の冒頭にこんな一文がありました。「Next.jsではフロントエンドのみならず、バックエンドの開発も一緒にできます。」
それを読んで、React単体でできるのってフロントエンドだけだったんだと気づきました。
Reactはフロントエンド(ユーザーが直接触れる部分)を構築するためのライブラリ。ユーザーのブラウザ上で画面を描画したり、操作に応じて表示を変えたりできる。
React単体では:
画面の構築:UIをコンポーネント単位で組み立てる
状態の管理:useStateやuseEffectなどで状態を管理
ルーティングは別ライブラリが必要:React Routerを組み合わせて使う
つまり、見た目や操作感を作るのが得意だけど、Webアプリ全体を構築するには他の仕組みが必要。
そして今回8章で登場したのがNext.js。
Reactをベースにしながら、サーバーサイドの処理などをできるようにしたフレームワーク。つまり、フロントエンドとバックエンドの両方を完結できてしまう。
Next.jsでは:
ページごとのルーティングが自動
App Routerでページ構成が直感的に
Next.jsには2つのルーティング方法があり、今回使っているのは App Router(新世代のルーター)。 これは、フォルダとファイルの構造=ページの構造になるという特徴がある。
Next.jsのApp Routerが「ファイルの場所=URL」になる仕組みを使っている。
以下のように、/posts/1にアクセスすると、app/posts/[id]/page.tsxが表示される。
画面内容 | URL | 対応するファイル |
|---|---|---|
トップページ |
|
|
詳細ページ |
|
|
お問い合わせページ |
|
|
app/ ├── layout.tsx ←全ページ共通のレイアウト ├── _components/ ├── posts/ |
App Routerでは、page.tsx がそのフォルダのページとして認識されるというルールがある。 だから、ファイル名は page.tsx にする必要がある。
React Routerで使っていた useParams() は、Next.js(App Router)ではそのまま使えない。 Next.jsでは、next/navigation からインポートして使う。
src/app/ 配下のフォルダはページとして認識される
ページじゃないもの(部品)は _components のようにアンダーバーから始めるのが慣例
クライアントサイドで動くコンポーネントには、ファイルの先頭に "use client" を書く必要がある
いつも課題合格後に振り返りを書こうとしても、そのまま書かずに終わってしまいました😓
なので今回は、課題を進めながら学びをメモとしてブログの下書きに記入し、合格後に整理して公開するやり方に変えてみました!
どうやらこのやり方が自分には合っているみたいです。この調子で学びを少しずつでも深めていけたらいいなと思っています!
今回、初めて章の振り返りを投稿してみて、毎回きちんと振り返っている方って本当にすごいなと感じました。
「早く次の課題に進まなあかん」と焦っていた自分に、少し...いや結構余裕がなかったのかもしれません。今は退職届を出して有給休暇消化中で気持ち的に余裕があるのかもしれません。(このあたりのことは、また後日ブログに書こうと思っています)
あと、8章をやりながら改めて思ったのは、
「知らないことを知れるって、やっぱり楽しいな〜」ってことでした。
6章ではReact単体で簡易的なブログサイトを作成し難しさの中にある楽しさと基礎の大切さを理解し、
7章ではTypeScriptに置き換え型をつけエラーを未然に防げることに感動し、
そして今回の8章ではNext.js(TypeScript使用) に置き換えることで、また新たな発見や気づきがありました!
そんな気持ちで課題に取り組めたのが、何よりの収穫でした!
引き続き、9章からも頑張っていきます🔥🔥🔥
