虚拟 dom:
虚拟 dom
相当于在 js
和真实 dom
中间加了一个缓存。基于React 进行开发时所有的 DOM
构造都是通过虚拟 DOM
进行,每当数据变化时,React
都首先重新构建整个DOM
树(减少页面更新次数),然后 React
将当前整个 DOM
树和上一次的 DOM
树进行对比(DOM diff
算法-最小化页面重绘),得到 DOM
结构的区别,然后仅仅将需要变化的部分进行实际的浏览器DOM
更新。
diff 算法:
diff
算法是调和的具体实现,将 Virtual(虚拟)DOM
树转换成actual(真实)DOM
树的最少操作的过程称为调和,diff
算法的作用计算出虚拟DOM
中真正变化的部分,并只针对该部分进行原生 DOM
操作,而非重新渲染整个页面。