为什么要用key?
Vue 和 React 都实现了一套虚拟DOM,使我们可以不直接操作DOM元素,只操作数据便可以重新渲染页面。而隐藏在背后的原理便是其高效的Diff算法。
Vue 和 React 的虚拟DOM的Diff算法大致相同,其核心是基于两个简单的假设:
- 两个相同的组件产生类似的DOM结构,不同的组件产生不同的DOM结构。
- 同一层级的一组节点,他们可以通过唯一的id进行区分。

为什么不能用index作为key
vue中 如果数据项的顺序被改变,Vue 将不会移动 DOM 元素来匹配数据项的顺序, 而是简单复用此处每个元素
结论:
- 更新DOM的时候会出现性能问题
- 会发生一些状态bug
- React 中的 key 也是如此
- 如果已经了解 为什么要用key,可以通过目录直接跳到下一节
关键:为何虚拟DOM中要用key?Vue和React性能优化揭秘
本文探讨了在Vue和React的虚拟DOM中使用唯一key的重要性,它如何避免顺序变化导致的问题,并揭示了不正确使用key可能导致的性能瓶颈和状态bug。讲解了为什么常规索引不能作为key,以及合理选择和使用key的最佳实践。
527

被折叠的 条评论
为什么被折叠?



