🐷
Reactよく言っているレンダリングはいったいなんですか?
結論
私の理解は以下の○がついているものです。
- 仮想Dom(FiberNode)ツリー全探索 ×
- 関数コンポネットの実行 ○
- 差分検出処理 ×
- dom操作 ×
reactレンダリングの仕組み
stateを変化させたり、contextを変化させたりするときには、Reactは一応FiberNodeツリー(よく言う仮想dom)を一番トップのrootから葉まで全探索します。
ただし、関数コンポネットのFiberNodeにたどり着いたときに、関数を実行するかしないか条件があります。
もし実行する条件に入ったら、renderWithHooksから関数を実行します
もし実行する条件に入らなかったら、bailout仕組みに入りまして、関数を実行しません。
ここの関数の実行はレンダリングと私は理解しております。
イメージ
関数を実行する場合
関数を実行しない場合
参考リンク
Discussion