关于不使用 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 算法这块,主要学习它的作用和大概的原理过程,细节先不要深究。

0
0

2024版 前端框架及项目面试 聚焦Vue3/React/Webpack

面向1-3年前端的框架及项目面试“刚需内容”

4663 学习 · 1644 问题

查看课程