はじめに

Reactは、JavaScriptでWeb画面を作るための単なるテンプレートライブラリではない。
Reactが提供する中心的な価値は、アプリケーションの状態からUIを宣言的に導出し、コンポーネントという単位で画面とロジックを構成するためのモデルにある。

2026年時点のReactを理解するには、次の4層を区別する必要がある。

  1. 不変の基礎原理
    • 宣言的UI
    • コンポーネント
    • propsとstate
    • 純粋なレンダリング
    • 単方向データフロー
    • ツリー上の位置と同一性
  2. クライアントUIの仕組み
    • Hooks
    • Effect
    • Suspense
    • Transition
    • フォームとActions
  3. コンパイル・サーバー・レンダリング
    • React Compiler
    • SSR
    • ストリーミング
    • React Server Components
    • Server Functions
  4. アプリケーション開発
    • ルーティング
    • データ取得
    • キャッシュ
    • テスト
    • アクセシビリティ
    • セキュリティ
    • デプロイ

React本体とReactフレームワークの責任範囲も分けて考える必要がある。

領域 React本体 フレームワーク・周辺ツール
コンポーネント 対応 対応
state、Hooks 対応 Reactを利用
DOMレンダリング react-dom Reactを利用
ルーティング 原則として対象外 Next.js、React Routerなど
データ取得規約 基礎APIのみ フレームワークが統合
SSR 低レベルAPIを提供 実運用を統合
Server Components 仕様・ランタイム バンドラー統合を担当
ビルド 対象外 Vite、フレームワークなど
デプロイ 対象外 ホスティング環境など