前端-Vue组件key的作用

写在前面:这是一个排行版组件,但是点击下钻的时候更新dataList 数据,但是动画是从一部分开始加载的,类似于列表的一部分数据被复用了,虽然里面的值换了,但是动画不在了

这里描述一下组件key的作用,通过这个key 解决了组件动画只有一半的BUG。

  1. key 为列表中的每个元素提供了一个唯一标识,Vue使用这个标识来跟踪每个节点的身份,从而在数据变化是高效的更新Dom。
  2. 当列表数据发生变化时,Vue通过比较key来决定如何更新列表,如果key没有变化,Vue 会尝试重用现有的元素,而不是重新创建它们,从而提高更新效率。
  3. 使用key可以却比奥尔即使Dom 元素被重新排序或者替换,组件的状态也能被保留。
  4. 在列表项是组件的情况下,使用key可以避免组件的生命周期钩子(如 created、mounted、beforeDestroy 等)在不正确的时机被激活。
  5. 当列表项动态变化时,key 帮助Vue 识别那个项被改变,添加或者删除,从而减少不必要的Dom 操作。
  6. 对于包含输入控件的列表项,使用key 可以确保即使其在列表中的位置发生变化,输入控件也能保持正确的状态。
  7. 在使用虚拟滚动的长列表中,key 帮助Vue 识别哪些项应该被渲染在屏幕上,从而提高渲染效率。
  8. 在列表中,如果包含执行副作用的操作(如异步请求),使用key可以确保这些操作只对需要的项执行。
相关推荐
m0_敲代码的彭于晏1689 小时前
Vercel 前端部署平台深度评测
前端
2301_32241428049 小时前
基于SpringBoot+Vue的休闲零食超市管理系统的设计与实现59004-计算机毕设 原创(免费领源码+部署教程+开发环境)
java·vue.js·spring boot·redis·mysql·决策树·推荐算法
怕浪猫10 小时前
外包和大厂的前端代码,差在凌晨三点
前端·面试·github
m0_敲代码的彭于晏16811 小时前
Vercel 前端部署与全栈开发实战指南
前端·状态模式
徐小夕11 小时前
花了3个月,我们做了一款 AI 版的“飞书文档”
前端·算法·github
贾伟康11 小时前
【化学实验室|17】HarmonyOS ArkTS 亮暗色与视觉令牌实战:集中颜色、间距和交互状态避免页面割裂
前端·移动开发·harmonyos·arkts·arkui
Csvn12 小时前
SSR/SSG/ISR(上):峡谷与渲染策略的时间预算
前端
Csvn12 小时前
SSR/SSG/ISR(下):可交互性、新鲜度与回源账
前端
酷炫码神12 小时前
Day 10|Pinia 状态管理:把散落在各组件的数据,收进一个全局仓库
android·开发语言·javascript
Elcker14 小时前
YnuoAgent(依诺):一个 npm 包,跑起属于自己的 AI 研发平台
前端·人工智能·npm