react的key值的做用

由於在reactelement中有一個屬性是key,該屬性默認是爲空值,因此通常狀況下,只要組件不加上key值,react是不會去校驗組件的key,而是直接採用diff算法進行對比,一旦組件加上了key值,react就會在渲染時對該組件的身份進行校驗,首先校驗新舊組件的key值是否是一致,不一致的話,該組件直接銷燬,而後在新建該組件;若是一致,則比較組件的屬性是否發生變化,若是發生變化,則採用diff算法進行對比,而後得出差別對象,若是屬性沒發生變化,則認爲該組件不須要改變;react

大概的流程圖:算法

相關文章
相關標籤/搜索