baijiahao.baidu.com/s?id=171464…
-
虚拟(virtual)DOM,不总是直接操作DOM(批量更新,减少更新次数)\
-
高效的DOM Diff算法,最小化页面重绘(减小页面更新区域)
-
jsx语法:主要用来创建虚拟DOM对象组件实例对象的三大属性:props, refs, state\
React JSX
****\
react定义的一种类似于XML的JS拓展语法:XML+JS
作用:用来创建react虚拟DOM对象
虚拟DOM(元素)是一个一般的js对象,准确的说是一个倒立的对象树
虚拟DOM保存了真实DOM的层次关系和基本属性,与真实DOM一一对应
如果只是更新虚拟DOM,页面不会重绘,大大提高了绘制效率。
Vitual DOM 算法的基本步骤
用JavaScript对象结构表示DOM树的结构,然后用这个树结构建立真正的DOM树,插到文档当中。
当状态变更的时候,重新构建一棵新的对象树。然后新的树和旧的树进行比较,记录差异。
把 步骤2 中记录的差异应用到 步骤1 所构建的真正的DOM树上,更新视图。
深入理解
Virtual DOM 本质上就是在JS 和 DOM 之间做了一个缓存。与CPU与硬盘的缓存原理类似。