react中key值的理解

react利用key来识别组件,它是一种身份标识标识,
同一层级在react集合中相同的key react认为是同
一个组件,然后对key值相同的组件进行对比(同一层级)
  若前后组件是同一类型,就进行更新
  若前后组件不是同一类型,直接销毁,创建

有了key属性后,就可以与组件建立了一种对应关系,react根据key来决定是销毁重新创建组件还是更新组件。

key相同,若组件属性有所变化,则react只更新组件对应的属性;没有变化则不更新。

key值不同,则react先销毁该组件(有状态组件的componentWillUnmount会执行),然后重新创建该组件(有状态组件的constructor和componentWillUnmount都会执行)
posted @ 2019-08-31 22:26  HandsomeGuy  阅读(239)  评论(0编辑  收藏  举报