写 React / Vue 项目时为什么要在列表组件中写 key,其作用是什么?
Posted mrhaoroot
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了写 React / Vue 项目时为什么要在列表组件中写 key,其作用是什么?相关的知识,希望对你有一定的参考价值。
不带有key,并且使用简单的模板,基于这个前提下,可以更有效的复用节点,diff速度来看也是不带key更加快速的,因为带key在增删节点上有耗时。这就是vue文档所说的默认模式
。但是这个并不是key作用,而是没有key的情况下可以对节点就地复用
,提高性能。这种模式会带来一些隐藏的副作用,比如可能不会产生过渡效果,或者在某些节点有绑定数据(表单)状态,会出现状态错位。VUE文档也说明了。还有就是key的作用是为了在diff算法执行时更快的找到对应的节点,提高diff速度,但是这个含有争议。
整理来自木易杨
以上是关于写 React / Vue 项目时为什么要在列表组件中写 key,其作用是什么?的主要内容,如果未能解决你的问题,请参考以下文章