react 底层 diff 算法
虚拟dom是解决dom渲染低效的问题。
虚拟dom是把一个真实的dom树转化成一个js dom树,然后用diff算法来比较两个树的不同,最后把比较的结果进行dom渲染。
diff算法:逐层比较,发现相同的就保留,发现不同的就创建。
diff算法有两个缺点:1、对于这个树变化特别大,渲染是低效的。
2、兄弟节点,排序,插入是低效的。
解决办法(两个假设):1、同一个组件产生相同的dom结构,不同的组件,产生不同的dom结构。
2、对同一层次的一组节点,它们可以通过唯一的id进行区分。
算法上的优化是React整个界面Render的基础,事实也证明两个假设是合理精确的。

浙公网安备 33010602011771号