カテゴリ: 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で複数のContextを組み合わせる方法を完全解説!初心者でもわかるContext APIの応用
New2
React
ReactでStateリフトアップ(Lifting State Up)の実践方法をやさしく解説!Propsで親子間をつなぐ設計
New3
React
Fetch APIでPUT・DELETEを実行する方法をやさしく解説!初心者でもできるReactのサーバー通信
New4
Next.js
Next.jsのダッシュボード構造におけるLayout設計を徹底解説!初心者でも理解できるLayoutとTemplateの使い方
人気記事
No.1
Java&Spring記事人気No1
React
Reactとは?初心者でもわかるReact.jsの基本概念と特徴をやさしく解説
No.2
Java&Spring記事人気No2
React
ReactとTypeScriptの環境構築をやさしく解説!Viteとtsconfigの設定も丁寧に紹介
No.3
Java&Spring記事人気No3
Next.js
Next.jsのRoute Groupの使い方を完全ガイド!App Routerでフォルダ構成を整理する方法
No.4
Java&Spring記事人気No4
React
ReactのJSXとJavaScriptの違いを完全ガイド!初心者でもわかるReactのJSX入門
No.5
Java&Spring記事人気No5
Next.js
Next.js Pages Routerのメリット・デメリットを完全解説!初心者でも理解できるNext.jsルーティングの基本
No.6
Java&Spring記事人気No6
React
ReactのJSXはどうやって動く?Babelによるコンパイルの仕組みをやさしく解説
No.7
Java&Spring記事人気No7
React
React.jsのメリットとデメリットを完全解説!初心者にもわかるReactの魅力と注意点
No.8
Java&Spring記事人気No8
React
Reactでキーボードイベントを活用する方法!onKeyDown, onKeyUp, onKeyPressを初心者向けに解説