React--diff算法的三种优化策略
2023-02-18 16:29:04 时间
bug收集:专门解决与收集bug的网站
网址:www.bugshouji.com
React Diff算法的优化
1. 同层节点之间相互比较,不会跨节点比较(tree diff);
2. 开发中,可以通过key来指定哪些节点在不同的渲染下保持稳定(element diff);
3. 不同类型的节点,产生不同的树结构(component diff);
树的优化策略(tree diff)
两个虚拟 DOM 进行比对时,从上往下进行比对,如果同一层比对存在差异时就不会继续进行比对
元素的优化策略(element diff)
引入 key 值提高比对性能,其中 key 值最好不要为 index,应该是固定、唯一的值,比如 item、id 等
组件的优化策略(component diff)
Diff 算法默认同层存在差异时就不会继续进行比对,而是替换整个差异部分,如果子组件数据改变同样也会被替换掉,可以借助 shouldComponentUpdate
避免频繁更新
参考:
https://www.cnblogs.com/bpone/p/14900203.html
苟有恒 , 何必三更眠五更起
相关文章
- java原生阻塞队列详解索引
- Java原子操作Atomic类详解
- Java SE 19 虚拟线程
- java的动态代理底层解析
- Java SE 16 record 类型说明与使用
- Java SE 19 新增特性
- Java 对象的内存布局(HotSpot 实现)
- Java 多线程(七):线程池
- Java 多线程(五):锁(三)
- Java 多线程(四):锁(二)
- Java 多线程(三):锁(一)
- Java 多线程(二):并发编程的三大特性
- Java 多线程(一):基础
- Java SE 18 新增特性
- Java SE 17 新增特性
- Java SE 16 新增特性
- Java SE 15 新增特性
- Java SE 14 新增特性
- Java SE 10 Application Class-Data Sharing 示例
- Java SE 13 新增特性