道Frontend Dojoフロントエンド道場
01稽古場02ロードマップ03道場について
Zenn ↗X ↗
§ 00 — Colophon

Frontend Dojo

フロントエンド道場

フロントエンドの鬼門を、読むのではなく触って理解する。
日本語のインタラクティブラボ。

§ LAB

稽古場

  • 稽古場一覧
  • ロードマップ
  • 用語集
  • 道場について
§ LEGAL

規約

  • プライバシーポリシー
  • 利用規約
  • お問い合わせ
§ LINK

外部

  • Zenn ↗
  • X ↗

© 2026 フロントエンド道場 · Personal Lab

  1. 稽古場
  2. Lab 3: 再レンダリング
概要稽古道場

§ 03 — Lab

再レンダリングの地図

React の再 render がコンポーネントツリーをどう伝播するかを「光る木」で可視化します。 memo を付けたのに止まらない、Context で全部再 render されて驚く、派生 state で ループを作ってしまう — こうした中級者の鬼門を、手元で触って確かめる稽古場です。

稽
稽古
Tutorial

6 ステップのガイド付き。伝播 → memo → object prop → Context → 派生 state → commit の順に進みます。

開く
道
道場
Playground

深さ・fanout・memo・prop 種別・state source を自由に組み合わせて試せる実験場。

開く

なぜ「再レンダリング」を触って学ぶのか

React の再 render は抽象概念です。「親が state を変えると子が再 render される」 というルール自体は覚えやすい一方、どこまで止まるか・どこが実際に DOM 反映か は、 紙面では追い切れません。memo を付けたのに止まらない、Context で全部再 render されて驚く、 派生 state でループを作ってしまう — こうした鬼門は、木が光る様子を見るのが最短です。

稽古 と 道場 の違い

  • 稽古(Tutorial) — 全 6 ステップ。木の伝播 → memo → object literal → Context → 派生 state → commit の違いを順に体験します。初見ならこちらから。
  • 道場(Playground) — 深さ・枝分かれ(fanout)・memo・prop 種別を自由に組み合わせて、自分の実務コードに近い構造を再現できる実験場です。

可視化の仕組み

  • 各ノードが render されるたびに 一瞬 flash します
  • カウンタで 総 render 回数 と ノード別の render 回数 を表示します
  • MutationObserver で DOM mutation 件数 も並置し、「render = DOM 変更」ではないことを体感できます

前提

  • 本 Lab は Chromium 依存 API を使わないため、主要ブラウザ(Chrome / Firefox / Safari / Edge)で動作します
  • 実務コードで同じ挙動を再現したいときは、ブラウザ拡張の React DevTools の Profiler が最短の確認手段です。本 Lab と併用すると理解が深まります
  • Lab 1(レンダリングパイプライン)で「1 フレームの中身」を押さえたあとに見ると効きが良くなります

参考

  • React docs — memo
  • React docs — You Might Not Need an Effect

§ Feedback

この稽古場はいかがでしたか?