将数组的index赋值给key值问题

来源:4-6 虚拟 DOM 中的 Diff 算法

慕粉202224771

2020-03-13

老师您好,(我是从您的vue去哪儿网学过来的。那时候才出没多久,还没react课程。近段时间一看,我的天呐,什么时候出的react,一看评论,18年出的。wtf啊。。。)我有个疑问,如果虚拟dom循环的渲染标签时,是和key值绑定的,所以不建议用index赋值,以保证key值唯一准确。但实际上,我用index赋值,增减数组却又不会出差呢?比方说哈,有一个List[a,b,c,d]  有4个元素,  我以index为key值, 之后,我删除index为2的b元素, 这个虚拟dom是会从头开始渲染吗?还是通过diff算法只渲染修改的部分? 如果是从头渲染,那key值是不是就没什么xx用了?如果是只渲染对应修改的部分数据的dom,那应该会出错得吧。但实际上,得出的结果又是oxxk的,请您解答一下

写回答

1回答

Dell

2020-03-15

diff 算法通过key值提升渲染效率。所以key值并不是说你代码好不好用,而是你代码是否性能ok

0
0

React零基础入门到实战,完成企业级项目简书网站开发

主流新技术 React-redux,React-router4,贯穿基础语法

5275 学习 · 2496 问题

查看课程