今回はReact.jsのVirtualDOMの実装での工夫について書きたいと思います。 Version control for the DOM React.jsのVirtualDOMの実態はJavaScriptのオブジェクトであり、rerenderする際に前後の状態を比較して最小限の変更だけを実際のDOMに反映させる仕組みになっています。 つまり、バージョン管理されていてdiffだけをpatchとして実際のDOMに適用する感じですね。 Level by level 単純にVirtualDOMのtreeを比較すると計算量が多くなってしまうので、React.jsでは計算量を減らすための工夫がされています。 その1つがVirtualDOM treeの同階層同士でしか比較しないということです。WebアプリケーションのDOM構造で異なる階層に要素が移動するケースは珍しいという理由でこのようになってい