这意味着当树上有1000个元素时, 需要10亿次比较, 显然远远不够高效.React在基于以下两个假设的基础上, 提出了一套复杂度为 O(n) 的启发式算法不同类型(即标签名、组件名)的元素会产生不同的树....同一类型的元素当元素的标签相同时, React保留此DOM节点, 仅对比和更新有改变的属性, 如className、title等, 然后递归对比其子节点.对于 style 属性, React会继续深入对比..., 仅更新有改变的属性, 如color、fontSize等.同一类型的组件当组件的props更新时, 组件实例保持不变, React调用组件的 componentWillReceiveProps() componentWillUpdate...表明本次更新的 wipFiber树 构建完成, 进入下一步的提交更新阶段.3.4 提交更新阶段在进入本阶段时, 新的Fiber树已构建完成, 需要进行替换、更新或删除的Fiber节点也在其 effectTag...props .除了更新真实DOM外, 在提交更新阶段还需要在特定阶段调用和处理生命周期方法、执行Hooks操作, 本文不再详述.在此参考了 pomb.us/build-your-… 中提供的 useState