title: 01-React介绍 publish: true 虚拟DOM和diff算法 在学习 React 之前,我们需要先了解两个概念:虚拟DOM、diff算法。 虚拟DOM 问题描述: 假设我们的数据发生一点点的变化,也会被强制重建整颗DOM树,这么做,会涉及到很多元素的重绘和重排,导致性能浪费严重。 解决上述问题的思路: 实现按需更新页面上的元素即可。也就是说,把 需要修改的元素,所对应的 DOM 元素重新构建;其他没有变化的数据,所对应的 DOM 节点不需要被强制更新。 具体实现方案:(如何按需更新页面上的元素) 只需要拿到 页面更新前的 内存中的DOM树,同时再拿到 页面更新前的 新渲染出来的 内存DOM树;然后,对比这两颗新旧DOM树,找到那些需要被重新创建和修改的元素即可。