React中利用 key 實現元件重新渲染

2021-09-25 19:25:17 字數 935 閱讀 7814

最近在專案實踐中,發現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...