什么是 virtual DOM:
React官方的说法:
Virtual DOM 是一种编程理念。
在这个理念中,UI以一种理想化或者说虚拟化的方式保存在内存 中,并且它是一个相对简单的 JavaScript对象
我们可以通过ReactDOM.render让 虚拟DOM 和 真实DOM同步起来,这个过程中叫做协调(Reconciliation);
这种编程的方式赋予了React声明式的API:
你只需要告诉React希望让UI是什么状态;
React来确保DOM和这些状态是匹配的;
你不需要直接进行DOM操作,只可以从手动更改DOM、属性操作、事件处理中解放出来;
DOM:文档对象模型,是web页面的完全的面向对象的表述, 它能够使用如js等脚本语言进行修改。换言之将web页面和脚本语言连接起来、
React之所以速度快,因为其独特的机制–虚拟DOM
操作dom,或者dom每一次改变,都可能引发重绘和回流,这些操作非常费时,
reactr的虚拟dom是一个存储于内存的js对象,react先将页面发生的变化更新到虚拟dom,每一次的变化都和上一次的虚拟dom比较更新,最终react将包含所有变化的xunidom和真实dom比肩,找到变化部分,一次性应用到DOM中,这样只触发一次重绘或回流。