组件更新这块有点水哎
来源:5-9 组件更新(3)

小星星要努力变强
2020-06-10
我是跳着看的,对patch的diff算法比较好奇,所以先看了组件更新这块的逻辑,这块真的觉得有点水哎
个人感觉就是按代码讲了一下,但是关键的点还没讲到,比如updateChildren:
1. 为什么要对比oldStartIndex,oldEndIndex,new。。。这四个。
- 答:这是一种优化策略,如果直接上来遍历的话,会浪费很多性能,因为大多数情况下,我们只是组件中的某个元素发生了变化,而不是全部。
2. 当对比不成功如何处理,这里面又涉及了我们常见的要给循环里面的元素设置key的问题。
等等等
- 建议还是要将一些为什么要这么做,而不是流水的讲。
写回答
1回答
-
ustbhuangyi
2020-06-10
diff 算法性能上面的优势视频里有提到,不知道你有没有认真看。
多说一些为什么,这个建议我是接受的。课程有不少地方应该就是这种思路去讲的。视频录制完了改不了,有些章节可能有地方没有讲好,不过你要有什么问题想讨论的,欢迎来问答区与我讨论。
PS: 你的答案我觉得也水,什么叫“如果直接上来遍历的话,会浪费很多性能”,能详细解释一下吗?052020-06-12
相似问题