はじめに
Reactは、JavaScriptでWeb画面を作るための単なるテンプレートライブラリではない。
Reactが提供する中心的な価値は、アプリケーションの状態からUIを宣言的に導出し、コンポーネントという単位で画面とロジックを構成するためのモデルにある。
2026年時点のReactを理解するには、次の4層を区別する必要がある。
- 不変の基礎原理
- 宣言的UI
- コンポーネント
- propsとstate
- 純粋なレンダリング
- 単方向データフロー
- ツリー上の位置と同一性
- クライアントUIの仕組み
- Hooks
- Effect
- Suspense
- Transition
- フォームとActions
- コンパイル・サーバー・レンダリング
- React Compiler
- SSR
- ストリーミング
- React Server Components
- Server Functions
- アプリケーション開発
- ルーティング
- データ取得
- キャッシュ
- テスト
- アクセシビリティ
- セキュリティ
- デプロイ
React本体とReactフレームワークの責任範囲も分けて考える必要がある。
| 領域 | React本体 | フレームワーク・周辺ツール |
|---|---|---|
| コンポーネント | 対応 | 対応 |
| state、Hooks | 対応 | Reactを利用 |
| DOMレンダリング | react-dom |
Reactを利用 |
| ルーティング | 原則として対象外 | Next.js、React Routerなど |
| データ取得規約 | 基礎APIのみ | フレームワークが統合 |
| SSR | 低レベルAPIを提供 | 実運用を統合 |
| Server Components | 仕様・ランタイム | バンドラー統合を担当 |
| ビルド | 対象外 | Vite、フレームワークなど |
| デプロイ | 対象外 | ホスティング環境など |