第一模块(课程信息):
课程名称:2周刷完100道前端优质面试真题
课程章节:第五章第十九节 vue和react的diff算法有什么区别?
主讲老师:双越
第二模块(课程内容):
课程内容概述
介绍diff算法
- diff算法很早就有
- diff算法用法很广泛,如github的pull request中的diff
- 如果要严格diff两棵树,时间复杂度O(n^3),不可用
Tree diff算法的优化
- 只比较同一层级,不跨级比较
- tag不同则删除重建
- 子节点通过key区分
vue2:双端比较
vue3:最长递增子序列
react:仅右移
补充:
vue react循环时为什么必须用key?
- vue diff算法会根据key判断元素是否要删除?
- 匹配了key,则只移动元素----性能好
- 不匹配key,则删除重建----性能差
第三模块(学习心得):
明白了vue和react中diff算法的主要区别,增加知识面宽度