关于不使用 key
来源:4-13 深入diff算法源码-updateChildren函数
weixin_慕后端8420781
2022-03-12
老师您好,我觉得这里不使用 key 应该是默认 undefined === undefined 吧(而不是像上图左侧的全部销毁重建),也就是相当于 key 相等的情况;这也对应了 vue 官方文档说的:
默认使用“就地更新”的策略。如果数据项的顺序被改变,Vue 将不会移动 DOM 元素来匹配数据项的顺序,而是就地更新每个元素
写回答
1回答
-
双越
2022-03-13
diff 算法的实现,每个框架都不一样。对于 Undefined 这种细节的处理当然也不一样(但大致的对比逻辑是一致的)
图中画的是 react 的逻辑,你描述的是 vue 的逻辑。两者不用强行对比。
PS:对于 diff 算法这块,主要学习它的作用和大概的原理过程,细节先不要深究。
00
相似问题