
厨房でいただくご馳走データ|第4回 Next.js入門
著者: 管理者 / 2025-08-17 (更新: 2025-08-17)

先生〜、前回はお屋敷の廊下や扉を整えて、すっかり歩きやすくなりましたわね✨
でも……お部屋を回ってみても、まだ空っぽのお部屋ばかりで、少し寂しい気がいたしますの。
せっかくのお茶会なのですから、ご馳走やお菓子が欲しいですわ〜🍰☕️
でも……お部屋を回ってみても、まだ空っぽのお部屋ばかりで、少し寂しい気がいたしますの。
せっかくのお茶会なのですから、ご馳走やお菓子が欲しいですわ〜🍰☕️

ふふ、良い気づきです。
お部屋(ページ)を作っただけでは、確かに何もありません。
今日は「データ」というご馳走を厨房から運んでくる方法を学びましょう。
Next.jsの大きな魅力のひとつが、この「データの取り扱い」なのです。
お部屋(ページ)を作っただけでは、確かに何もありません。
今日は「データ」というご馳走を厨房から運んでくる方法を学びましょう。
Next.jsの大きな魅力のひとつが、この「データの取り扱い」なのです。
📝 データフェッチとは?
「データフェッチ」とは、外部やサーバーから情報を取得してページに表示することです。
例えば……
- ブログ記事一覧を表示する
- 商品情報をカタログに並べる
- 天気予報やニュースを読み込む
これらは「厨房から材料を取り寄せて、テーブルに並べる」ようなもの。
Next.jsには、状況に応じて 3つの厨房スタイル があります。
- SSR(サーバーサイドレンダリング)
ページに入るたびに厨房から料理を運んでくる(常に新鮮)。 - SSG(静的サイト生成)
あらかじめ厨房で料理を用意しておき、すぐに出せる(とても速い)。 - CSR(クライアントサイドレンダリング)
お客さまが席に着いてから、追加で料理を注文する(後から取ってくる)。

まあ!まるでビュッフェとオーダー料理の違いのようですわね✨
どれを選ぶかで、体験が変わってしまいますのね。
どれを選ぶかで、体験が変わってしまいますのね。

ええ、おっしゃる通りです。
実際のサイトでは「いつも変わるデータか」「固定のデータか」に応じて、最適な方法を選びます。
では、それぞれのやり方を少しずつ見ていきましょう。
実際のサイトでは「いつも変わるデータか」「固定のデータか」に応じて、最適な方法を選びます。
では、それぞれのやり方を少しずつ見ていきましょう。
📝 SSRの例(厨房から毎回運ぶ)
export async function getServerSideProps() {
const res = await fetch('https://api.example.com/data')
const data = await res.json()
return { props: { data } }
}
export default function Page({ data }) {
return <div>今日のおすすめ料理: {data.title}</div>
}
- getServerSideProps を使うと、ページを開くたびにサーバーでデータを取得します。
- そのため「常に最新の料理」を提供できるのです。
📝 SSGの例(あらかじめ仕込み)
export async function getStaticProps() {
const res = await fetch('https://api.example.com/menu')
const menu = await res.json()
return { props: { menu } }
}
export default function MenuPage({ menu }) {
return (
<ul>
{menu.map(item => <li key={item.id}>{item.name}</li>)}
</ul>
)
}
getStaticProps
を使うと、ビルド時に一度だけデータを取得します。- レストランで前日に仕込んでおいた料理のように、超高速で出せます。
📝 CSRの例(あとから注文)
import { useEffect, useState } from 'react'
export default function ClientPage() {
const [news, setNews] = useState([])
useEffect(() => {
fetch('https://api.example.com/news')
.then(res => res.json())
.then(data => setNews(data))
}, [])
return (
<div>
<h1>速報ニュース</h1>
<ul>
{news.map(n => <li key={n.id}>{n.title}</li>)}
</ul>
</div>
)
}
- ページ自体は空のテーブルで始まり、後から料理を追加していくスタイルです。
- ユーザーがページを開いた後に必要なデータだけ取りに行きます。

ふむふむ……SSRは「できたて」、SSGは「仕込み済み」、CSRは「あとから追加」……ですのね。
用途によって選ぶのが大切なのですわね。
用途によって選ぶのが大切なのですわね。

その通りです。
- 最新情報が必要 → SSR
- 固定ページ(ブログ・商品紹介) → SSG
- ページを開いてから動的に変わるもの → CSR
こう整理して覚えておけば、状況に合わせて選べますよ。
- 最新情報が必要 → SSR
- 固定ページ(ブログ・商品紹介) → SSG
- ページを開いてから動的に変わるもの → CSR
こう整理して覚えておけば、状況に合わせて選べますよ。

まあ!お屋敷の厨房がこんなに奥深いとは……✨
これでお部屋にご馳走が並んで、ようやくお茶会らしくなってきましたわね🍰☕️
これでお部屋にご馳走が並んで、ようやくお茶会らしくなってきましたわね🍰☕️

ええ。
次回は、この厨房から運ばれたご馳走を「美しくテーブルに並べる」――つまり、レイアウトやコンポーネント設計について学びましょう。
お屋敷らしい上品さを保つために、とても大事な部分です。
次回は、この厨房から運ばれたご馳走を「美しくテーブルに並べる」――つまり、レイアウトやコンポーネント設計について学びましょう。
お屋敷らしい上品さを保つために、とても大事な部分です。
✅ 本日のまとめ
- データフェッチ=厨房からご馳走を運ぶようなもの
- 3つの主要な方法がある
- SSR:毎回新しい料理(常に最新)
- SSG:あらかじめ仕込み(超高速)
- CSR:あとから注文(柔軟)
- サイトの性質に合わせて使い分けることが大切
🔮 次回予告
サロンに並ぶ優雅な調度品|第5回 Next.js入門
👉 共通レイアウトやコンポーネント設計を学び、データを美しく配置する方法を実践します。