有关于key值

key是个属性,react利用key来识别组件,它是一种身份标识的标志。通常,我们使用数据的id来作为元素的key;但是当元素没有id时,可以使用元素索引index作为key。但是一般不建议使用索引来用作key值,这样会导致性能变差,可能还会引起组件状态的问题。

有了key值,可以根据key来决定是销毁还是更新。

  • key相同,如果组件的属性发生变化,react只更新组件对应的属性,没有变化则不更新
  • key不相同,react先销毁该组件,再重新创建该组件

元素的key只有放在就近的数组上下文才有意义

为什么只有数组中的元素需要有唯一的key,而其他的元素不需要呢?答案是:react有能力辨别出,更新前后元素的对应关系。

为了组件内部逻辑的清晰,应该在任何复杂的有状态组件上使用key属性,才能在适合的适合触发组件的销毁与重建,组件才能有一个健康的生命周期。

猜你喜欢

转载自www.cnblogs.com/tianHHH/p/11001735.html
今日推荐