Virtual DOM (VDOM) は、UI がどう見えるべきかを記述する軽量な JavaScript オブジェクトツリーです。これはメモリ上のプレーンな表現であり、実際のブラウザ DOM ではありません。React がこれを使うのは、実 DOM を直接操作するのは遅く、状態が変わるたびに手作業で更新するとミスが起きやすいからです。
仕組み
state が変わると、React はすぐにページを触るわけではありません。代わりに次の処理を行います。
- コンポーネントから新しい virtual tree を構築する。
- それを以前の virtual tree と diff し、最小限の変更セットを計算する(reconciliation)。
- その変更だけを、まとめた更新として実 DOM に適用する。
