React 笔记之原理篇(旧版)
react是一个view库,虚拟dom,组件化,数据驱动UI;它的出现总体而言代表着现代web发展的一个标识。此后数据驱动UI,数据状态管理和无状态组件,以及其他有趣的一些东西,便是当下的热门的话题。
* react工作关键的两样东西:一个是虚拟dom,另外一个是diff算法。*
一、react 虚拟dom
传统的dom操作是直接在dom树里面找出对应节点,而react的虚拟dom就是在js描绘dom片段(组件化)的库里找方法;
二、react diff算法的三大策略
1、Web UI 中 DOM 节点跨层级的移动操作特别少
2、拥有相同类的两个组件将会生成相似的树形结构,拥有不同类的两个组件将会生成不同的树形结构
3、对于同一层级的一组子节点,它们可以通过唯一 id 进行区分
这三个前提作为:tree diff、component diff 和 element diff的算法准则
参考:react源码剖析系列