【Next.js】Reactサーバーコンポーネントのメリットを実際に確認してみました

【Next.js】Reactサーバーコンポーネントのメリットを実際に確認してみました

2024.3.23 2025.3.10

この記事は約2 分で読めます

三好アキ プロフィール写真

筆者三好アキ(専門用語なしでプログラミング)

私について詳しくは → 自己紹介

サーバーコンポーネントのメリットを実際に確認

Next.js AppフォルダでデフォルトになっているReactサーバーコンポーネント。

その特徴として、「セキュリティ性が高い」や「パフォーマンスに優れる」といたるところで書かれていますが、言葉の説明だけではよくわからないので、本記事では実際に確認をしてみましょう。

クライアントコンポーネントよりも「パフォーマンスに優れる」という点を見ていきます。

なお、Reactサーバーコンポーネントの仕組みやSSRとの違いなどは、下記記事を参考にしてください。

4メガバイト、減りました

まずNext.jsをインストールしましょう。

npx create-next-app test

表示される各質問に、Appルーター以外はすべて「No」で答えます。

インストール完了後にVS Codeで開いたら、下記パッケージをインストールしてください。

コードのハイライトに使うパッケージはサイズの大きいものが多いので、例としてhighlight.jsを使います。

npm install highlight.js

/app/page.jsを開き、読み込みます。

// app/page.js

import * as highlightjs from "highlight.js";       // 追加
import Image from "next/image";
import styles from "./page.module.css";

export default function Home() {
    return (
            ...

Next.jsをnpm run devで起動して、ブラウザを開きましょう。

そして開発者ツールから「Network」タブを選択してください。

image

画面をリロードし、このページで読み込んでいるリソースのサイズを確認しましょう。

これは「Network」タブの一番下に表示されており、ここでは「7.7MB」となっています。

image

次は/app/page.jsに、下記コードを加えてください。

// app/page.js

"use client"          // 追加 
import * as highlightjs from "highlight.js"; 
import Image from "next/image";
import styles from "./page.module.css";

export default function Home() {
    return (
            ...

これによってこのコンポーネントは、デフォルトのサーバーコンポーネントからクライアントコンポーネントになりました。

保存したらブラウザに戻り、「Network」タブを開いたままリロードしてください。

下部のリソースサイズを確認しましょう。

image

今度は「12.3MB」と4MB以上重くなっています。

サーバーコンポーネントではパッケージをサーバー側ですべて処理するのに対し、クライアンコンポーネントではブラウザ側で処理するためです。

これでサーバーコンポーネントの「JavaScriptバンドルサイズの削減」というメリットを実際に確認できました。

RSCでバンドルサイズが削減される仕組みが分かったら、RSCが登場した背景(MPA・SPA・SSRの流れ)や、useActionState・useOptimisticといったReact 19の新機能にも触れてみましょう。

体系的に整理したガイドはこちらです▼


RSC利用時にはNext.jsが一般的に使われます。

Next.jsのセットアップからRSC・Server Actionsの活用、デプロイまでを一本で整理したガイドもご覧ください▼


このNext.jsでコード書きながらアプリを作って理解を深めたい人は、下記教材を参考にしてください。

最新のNext.js Appルータとともに、API(Route Handlers)、Supabase、JWT、Cloudinaryなどを使って本格的なフルスタックアプリを開発する方法を、ビギナー向けにわかりやすく紹介しています(2026年時点で最新のNext.jsバージョン16使用)。

Next.jsでつくるフルスタックアプリ 前編(バックエンド開発)with Supabase

Next.jsでつくるフルスタックアプリ

【最新のNext.jsバージョン16をつかった本格アプリの開発手法がわかる入門書。Route Handlers使用】

Amazon Amazonで見る

image

⚫︎ monotein.base.shop/p/00005