核心內容: React是根據組件上設定的key屬性來生成該組件惟一的標識,只有key改變了,React纔會更新組件,不然重用該組件。若是想要更新組件內容,請保證每次的key都不同。數組
React修煉之路(一)裏面實現組件更新的方法就不說了,這裏說說上面文檔給個人啓發。首先要明確本身的業務需求。dom
你的組件不是動態組件(不須要動態更新),例如你一個列表只作展現,第一次render出來後就不會改變裏面的內容,那麼你不須要指定key(不指定key時,React也會生成一個默認的標識),或者將index做爲key,只要key不重複便可。.net
你的組件是動態組件(須要動態更新),例如你一個列表作展現時,能向列表添加或刪除元素,此時組件是須要刷新的,刷新的依據就是key,對於相同的key,React會採起和上一次刷新一樣的方式。這個時候,若是你採起index做爲key,那麼假設你在列表頂部添加了元素,那麼新的元素的key就是index=0,和上一次刷新時舊頂部元素的key相同,此時React將認爲這是這個新元素就是就頂部元素,因此就按照頂部元素的內容刷新該元素,致使新元素的內容就是之前的內容,這個和個人預期不一致,咱們預期是頂部元素顯示新的內容。鍵(Keys) 幫助 React 標識哪一個項被修改、添加或者移除了。數組中的每個元素都應該有一個惟一不變的鍵(Keys)來標識:code