React 中的key值

在react中必需要有key值,key不是用来提高react的性能的,react中的key属性,它是一个特殊的属性,它是出现不是给开发者用的(例如你为一个组件设置key以后不能获取组件的这个key props),而是给react本身用的。react利用key来识别组件,它是一种身份标识标识,就像咱们的身份证用来辨识一我的同样。每一个key对应一个组件,相同的key react认为是同一个组件,这样后续相同的key对应组件都不会被建立。这样,有了key属性后,就能够与组件创建了一种对应关系,react根据key来决定是销毁从新建立组件仍是更新组件。
* key相同,若组件属性有所变化,则react只更新组件对应的属性;没有变化则不更新。
* key值不一样,则react先销毁该组件(有状态组件的componentWillUnmount会执行),而后从新建立该组件(有状态组件的constructor和componentWillUnmount都会执行)
* key属性是添加到自定义的子组件上,而不是子组件内部的顶层的组件上
* key值的惟一是有范围的,即在数组生成的同级同类型的组件上要保持惟一,而不是全部组件的key都要保持惟一
能够用index当作key值,可是不建议,由于index不是惟一的,能够用时间戳,也可让后端给你一个惟一的标识
相关文章
相关标签/搜索