Предположим, у вас есть фактическое дерево DOM, подобное этому:
<div id="text">
<div>
text 1
</div>
<div>
text 2
</div>
</div>
Теперь предположим, что у вас есть виртуальное дерево DOM, которое в первый раз является копией фактического дерева DOM:
<div id="text">
<div>
text 1
</div>
<div>
text 2
</div>
</div>
СейчасПредположим, что текстовый элемент div обновлен новым текстом, но передается полный #text div html для повторного рендеринга, поэтому виртуальный DOM будет сравнивать его с собственным деревом и будет просто рендерить обновленный HTML-элемент в фактическом DOM.
Replaceс этим div:
<div>
text 2
</div>
Обновлен этот div:
<div>
text 3
</div>
Таким образом, в заключение, виртуальный DOM сравнивает его с объектом на дереве и обновляет фактический DOM, когда обнаруживает какие-либо различия в любом элементе.и он обновляет только обновленную часть элемента вместо полного HTML, поэтому Virtual DOM очень быстр, и это основная концепция React.