首先谈谈区别是什么?
不加key情况:虚拟dom更新新旧元素默认的情况下是按照元素的下标进行对比的,也就是不加key的情况下,按照下标进行对比,渲染更新
加上key后:会按照key的新旧元素对比,渲染更新
好处是什么呢?
虚拟dom元素按照下标对比容易更新错的对象,且造成数据紊乱的情况
加上key后,可以准确的更新差异对象,且避免了数据紊乱的情况了,可以提升我们浏览器的渲染性能
但是需要注意的是:需要保证key是唯一且不变的元素,我们一般在请求服务器返回数据的时候都是带有id的,可以拿id作为key,但是如果当前key满足这个唯一且不变的条件,也可以直接作为key
最后我们之后在没办法的情况下,才会使用下标作为key