React DevTools 入門:Components タブでpropsとstateを確認する
Components タブの開き方
npm run devでアプリを起動する(本番ビルドでは DevTools が機能しない)- ブラウザで開発者ツールを開く(
F12またはCmd+Option+I) - タブ一覧の右端に「⚛ Components」「⚛ Profiler」が追加されている
インストールがまだの場合は Chrome ウェブストア から「React Developer Tools」を追加する。
Components タブの基本
コンポーネントツリー
左ペインにアプリのコンポーネント構造がツリー表示されます。
▼ App
▼ Header
Nav
▼ Main
▼ UserList
UserCard
UserCard
UserCard
コンポーネントをクリックすると右ペインにそのコンポーネントの詳細が表示されます。
props を確認する
右ペインの props セクションに現在渡されているpropsが表示されます。
props name: "田中太郎" age: 28 isAdmin: false onClick: ƒ ()
関数(ƒ ())はクリックするとコンソールに出力できます。
state を確認する
useState で管理している状態が hooks セクションに表示されます。
hooks State: "loading" State: [] State: null
stateをリアルタイムで編集する
hooksセクションの値をクリックして直接編集できます。フォームの入力値や表示状態をコードを変えずにデバッグするときに便利です。
hooks State: "loading" ← クリックして "success" に変更 → UIが即時反映
コンポーネントを素早く選択する
画面上の要素から選択する
Components タブ左上の インスペクターアイコン(カーソルのアイコン)をクリックして、画面上の要素にカーソルを合わせると対応するコンポーネントがハイライトされます。
「この要素がどのコンポーネントから来ているか」を素早く特定できます。
コンポーネントを検索する
左ペイン上部の検索ボックスでコンポーネント名を絞り込めます。大規模なアプリで特定のコンポーネントを探すときに便利です。
右ペインでできること
| 操作 | 説明 |
|---|---|
| propsを確認 | 現在渡されている値をすべて表示 |
| stateを確認・編集 | hooksセクションで値を変更できる |
| ソースに移動 | </> アイコンでコードの定義元に飛ぶ |
| コンソールに出力 | $r でコンソールからコンポーネントインスタンスを参照 |
| レンダリング回数の確認 | 何回再レンダリングされたかを表示(設定で有効化) |
$r でコンソールから操作する
Components タブでコンポーネントを選択した状態でコンソールに $r を入力すると、そのコンポーネントのインスタンスを参照できます。
// コンソールで $r // 選択中のコンポーネントのインスタンス $r.props // propsを確認
再レンダリングをハイライトする
設定(歯車アイコン)→「General」→「Highlight updates when components render」を有効にすると、再レンダリングされたコンポーネントが青〜赤でフラッシュします。
- 青:少ない再レンダリング
- 赤:頻繁な再レンダリング(要注意)
不要な再レンダリングを視覚的に確認できます。詳細な計測は Profiler タブで行います。
React DevToolsとは
Reactアプリのデバッグに特化したブラウザ拡張機能です。通常のブラウザ開発者ツールでは見えないコンポーネントツリー・props・stateをリアルタイムで確認・編集できます。
開発ビルド(npm run dev)でのみ有効で、本番ビルドではアイコンがグレーになり機能しません。
まとめ
| 機能 | 使い方 |
|---|---|
| コンポーネントツリー確認 | 左ペインのツリーを展開 |
| props・stateの確認 | コンポーネントを選択 → 右ペイン |
| stateのリアルタイム編集 | hooksセクションの値をクリック |
| 画面要素からコンポーネントを探す | インスペクターアイコンで要素を選択 |
| コンソールから操作 | $r を使う |
| 再レンダリングの可視化 | 設定でハイライトを有効化 |
- 開発環境(
npm run dev)でないとDevToolsは機能しない - propsとstateをコード変更なしに編集してデバッグできるのが強み
- 再レンダリングの詳細な計測は「React DevTools Profiler:再レンダリングを特定してパフォーマンス改善」を参照
Reactのプロジェクト作成から始める場合は「React + Vite でプロジェクト作成」を参照してください。