首页 > 其他分享 >12 key的原理

12 key的原理

时间:2023-01-03 16:15:43浏览次数:34  
标签:index 12 DOM Vue 虚拟 key 原理 逆序

一、index作为key

二、唯一标识如id作为Key

三、不写key

当不写key时,Vue默认将index作为key。

四、面试题:react、vue中的key有什么作用?(key的内部原理)

1、虚拟DOM中key的作用:
key是虚拟DOM对象的标识,当状态中的数据发生变化时,Vue会根据【新数据】生成【新的虚拟DOM】,
随后Vue进行【新虚拟DOM】与【旧虚拟DOM】的差异比较,比较规则如下:
(1)旧虚拟DOM中找到了与新虚拟DOM相同的key:
a).若虚拟DOM中内容没变,直接使用之前的真实DOM;
b).若虚拟DOM中内容变了,则生成新的真实DOM,随后替换掉页面之前的真实DOM。
(2)旧虚拟DOM未找到与新虚拟DOM相同的key
创建新的真实DOM,随后渲染到页面。

2、用index作为key可能会引发的问题:
(1)若对数据进行:逆序添加、逆序删除等破坏顺序的操作:会产生没必要的真实DOM的更新  ==》界面没问题,但效率低。
(2)如果结构中还包含输入类DOM:会产生错误的DOM更新  ==》界面有问题

3、开发中如何选择key?
(1)最好使用每条数据的唯一标识作为key,比如id,手机号,身份证号,学号等唯一值。
(2)如果不存在对数据的逆序添加、逆序删除等破坏顺序的操作,使用index作为key没有问题。

标签:index,12,DOM,Vue,虚拟,key,原理,逆序
From: https://www.cnblogs.com/quliangshyang/p/17022525.html

相关文章