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

Next.js Client Componentsとは?初心者でもわかるServer Componentsとの違いと使いどころ

Next.js Client Componentsとは?Server Componentsとの違いを整理
Next.js Client Componentsとは?Server Componentsとの違いを整理

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

生徒

「Next.jsって聞いたことはあるんですが、Client Componentsって何ですか?」

先生

「Next.jsでは、画面を作る部品をClient ComponentsとServer Componentsに分けて考えます。」

生徒

「どうして分ける必要があるんですか?」

先生

「それぞれ役割が違っていて、使い分けることで表示が速くなったり、動きのある画面が作れるんです。」

1. Next.jsとは?まずは全体像を知ろう

1. Next.jsとは?まずは全体像を知ろう
1. Next.jsとは?まずは全体像を知ろう

Next.js(ネクストジェイエス)は、WebサイトやWebアプリを作るための道具です。 パソコンやスマートフォンの画面に表示されるページを、効率よく安全に作ることができます。 難しそうに聞こえますが、「ホームページを作るための便利なセット」と考えてください。

Next.jsは、React(リアクト)という仕組みをベースにしています。 Reactとは、画面を小さな部品に分けて作る考え方です。 この部品のことを「コンポーネント」と呼びます。

2. コンポーネントとは何かを超かんたんに説明

2. コンポーネントとは何かを超かんたんに説明
2. コンポーネントとは何かを超かんたんに説明

コンポーネントとは、画面の一部分を担当する部品です。 たとえば、ボタン、文字の見出し、入力フォームなどがそれぞれ部品になります。 レゴブロックのように、小さな部品を組み合わせて大きな画面を作るイメージです。

Next.jsでは、このコンポーネントを「Client Components」と「Server Components」に分けて使います。

3. Client Componentsとは?できることを理解しよう

3. Client Componentsとは?できることを理解しよう
3. Client Componentsとは?できることを理解しよう

Client Components(クライアントコンポーネント)は、見る人のパソコンやスマートフォン側で動く部品です。 ボタンを押したときに画面が変わる、文字を入力すると反応する、といった「動きのある処理」が得意です。

たとえば、ボタンをクリックして文字を変える処理は、Client Componentsで書きます。


"use client";
import { useState } from "react";

export default function SampleClient() {
  const [text, setText] = useState("はじめまして");

  return (
    <div>
      <p>{text}</p>
      <button onClick={() => setText("ボタンが押されました")}>
        クリック
      </button>
    </div>
  );
}
(画面に「はじめまして」と表示され、ボタンを押すと文字が変わります)

4. Server Componentsとは?裏側で働く存在

4. Server Componentsとは?裏側で働く存在
4. Server Componentsとは?裏側で働く存在

Server Components(サーバーコンポーネント)は、サーバー側で動く部品です。 サーバーとは、インターネットの向こう側にあるコンピューターのことです。 私たちの代わりにデータを準備したり、ページを作ってくれます。

Server Componentsは、画面の動きよりも「表示の速さ」や「安全さ」を重視します。 基本的に、Next.jsではこちらが標準です。


export default function SampleServer() {
  return (
    <div>
      <h1>サーバーで作られたページ</h1>
      <p>この文章はサーバー側で準備されています。</p>
    </div>
  );
}

5. ClientとServerの一番大きな違い

5. ClientとServerの一番大きな違い
5. ClientとServerの一番大きな違い

一番の違いは「どこで動くか」です。 Client Componentsは見る人の端末で動き、 Server Componentsはサーバーで動きます。

料理に例えると、Server Componentsは厨房で料理を完成させてから運ぶ役割です。 Client Componentsは、目の前でソースをかけたり味を変える役割です。

6. Client Componentsが必要になる場面

6. Client Componentsが必要になる場面
6. Client Componentsが必要になる場面

次のような場合は、Client Componentsを使います。 ボタンを押したときに画面を変えたい場合、 フォームに文字を入力してすぐ反応させたい場合などです。


"use client";
import { useState } from "react";

export default function Counter() {
  const [count, setCount] = useState(0);

  return (
    <div>
      <p>回数:{count}</p>
      <button onClick={() => setCount(count + 1)}>
        増やす
      </button>
    </div>
  );
}
(ボタンを押すたびに数字が増えて表示されます)

7. 「use client」とは何を書いているのか

7. 「use client」とは何を書いているのか
7. 「use client」とは何を書いているのか

Client Componentsでは、ファイルの一番上に「use client」と書きます。 これは「この部品は利用者の端末で動かします」という宣言です。 これを書くことで、クリックや入力といった操作が使えるようになります。

8. Client ComponentsとServer Componentsの使い分けの考え方

8. Client ComponentsとServer Componentsの使い分けの考え方
8. Client ComponentsとServer Componentsの使い分けの考え方

基本はServer Componentsを使い、動きが必要なところだけClient Componentsにします。 こうすることで、ページが速く表示され、使いやすい画面になります。

最初は「ボタンや入力がある=Client Components」と覚えておけば十分です。 慣れてくると、自然に使い分けられるようになります。


import ClientPart from "./ClientPart";

export default function Page() {
  return (
    <div>
      <h1>メインページ</h1>
      <ClientPart />
    </div>
  );
}
関連記事:

関連記事なし

カテゴリの一覧へ
新着記事
New1
React
ReactのFetch APIとAxiosを徹底比較!初心者でもわかるReactのデータ取得方法
New2
Next.js
Next.js Client Componentsとは?初心者でもわかるServer Componentsとの違いと使いどころ
New3
React
Reactで複数イベントをまとめて処理!共通関数化でコード整理
New4
React
Reactでイベントバブリングとキャプチャリングを理解!初心者向けイベントハンドリング解説
人気記事
No.1
Java&Spring記事人気No1
React
ViteでReact開発環境を構築する手順を完全ガイド!初心者でもできるReactの環境構築
No.2
Java&Spring記事人気No2
React
ReactとTypeScriptの環境構築をやさしく解説!Viteとtsconfigの設定も丁寧に紹介
No.3
Java&Spring記事人気No3
Next.js
Next.jsのappディレクトリの役割を完全解説!初心者でもわかるApp Router入門
No.4
Java&Spring記事人気No4
React
ReactのPropsを使ってコンポーネントの表示を動的に切り替える方法を解説!初心者でもわかるReact入門
No.5
Java&Spring記事人気No5
React
ReactでonChangeイベントを使ってフォーム入力値を管理する方法を初心者向けに解説
No.6
Java&Spring記事人気No6
React
Reactの環境構築とは?初心者でもできるセットアップ手順まとめ
No.7
Java&Spring記事人気No7
React
ReactのuseStateとuseEffectでよくあるエラーと解決方法ガイド!初心者でもわかるReactフック
No.8
Java&Spring記事人気No8
React
useEffectでクリーンアップ関数を使う方法をやさしく解説