有关于key值

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

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

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

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

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

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

转载于:https://www.cnblogs.com/tianHHH/p/11001735.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值