传统diff 通过循环递归对节点的依次对比,复杂度是O(n3) react diff react对传统diff进行了优化,将复杂度降为O(n) react基于这几个前提对diff进行了优化: 忽略跨层级操作,因为DOM节点跨层级操作很少. 不同类的组件,则会生成不同的树形结构,相同类的组件,会生成相似的树形结构. 对同一层级的一组子节点,可以通过唯一key进行区分. 1 tree diff 只会对相同层级的DOM节点进行比较,只需要一次遍历,便可以完成整棵树的遍历.如果节点不存在,则该节点及其子…