最近在專案實踐中,發現react中可以利用key實現子元件的重新渲染,具體場景:需要切換下拉列表時,對應的榜單也要替換成該輪的資料
**如下
render()
=this
.state;
//round表示選中的選單的索引
return
("record-wrap"
>
/>
selectedindex=
showmenu=
onchange=
/>
round=
sid=
/>
<
/div>
)}fansrank是引入的榜單業務元件,開始時沒有使用key,改變dropdown元件的選中值,雖然把索引值round傳遞給了fansrank元件,但是fansrank並不會重新渲染。
但是給fansrank加上key標識之後,可以實現切換選單,fansrank重新渲染,即時更新。
我們一般使用key都是在列表中,必須加上key標識,不然會報警告,但是key也可以給自定義的元件加,起到標識的作用。
【key 的作用】
react 中的 key 屬性,它是乙個特殊的屬性,它是出現不是給開發者用的,而是給 react 自己用的。
react 利用 key 來識別元件,它是一種身份標識。每個 key 對應乙個元件,相同的 key ,react 認為是同乙個元件,這樣後續相同 key 對應的元件都不會被建立,而是會被傳入新的資料,更新元件。
有了 key 屬性後,就可以與元件建立了一種對應關係,react 根據 key 來決定是銷毀重新建立元件還是更新元件。
React元件中的key
一 key的作用 react中的key屬性,它是乙個特殊的屬性,它是出現不是給開發者用的 例如你為乙個元件設定key之後不能獲取元件的這個key props 而是給react自己用的。簡單來說,react利用key來識別元件,它是一種身份標識標識,就像我們的身份證用來辨識乙個人一樣。每個key對應乙...
React 列表元件與key
diff演算法 元件state或props發生變化時,react會 比對 本次虛擬dom樹和上次虛擬dom樹,然後根據二者的不同來操作真實dom樹,這個過程就是diff演算法。diff演算法的基本思路是 從根節點往下遞迴進行比對,每個節點可以看作是該節點以下子樹的根節點。解除安裝裝載 更新compo...
react解密 react中key的作用是什麼?
我們知道,不管是在vue還是react中,當迴圈列表的時候,往往會寫乙個key,那麼這個key起到了什麼作用呢?其實,key是react用來追蹤哪些列表的元素被修改,被新增或者是被刪除的輔助標示。在開發過程中我們需要保證某個元素的key在其同級元素中具有唯一性。在react的diff演算法中reac...