欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

React中使用collections時key的重要性是什么

這篇文章主要為大家展示了“React中使用collections時key的重要性是什么”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學習一下“React中使用collections時key的重要性是什么”這篇文章吧。

創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,提供成都網(wǎng)站制作、成都網(wǎng)站設(shè)計、外貿(mào)營銷網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務;可快速的進行網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,是專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!

React 不會 render 重復的 keys

為了徹底明白這個, 我們來聲明一個這樣的數(shù)組

const nums = [1, 2, 3, 5, 2]; // 它有兩個元素的值是相等的

現(xiàn)在, 我們在 react 中來 render

<ul>
 {nums.map(num => <li key={num}>{num}</li>)}
</ul>

這小段代碼構(gòu)造出的理想 element 結(jié)構(gòu), 應該是這樣的

<ul>
 <li key="1">1</li>
 <li key="2">2</li>
 <li key="3">3</li>
 <li key="5">5</li>
 <li key="2">2</li>
</ul>

然而, 實際 DOM 是這樣的

<ul>
 <li>1</li>
 <li>2</li>
 <li>3</li>
 <li>5</li>
</ul>

React 給出了以下warning

React中使用collections時key的重要性是什么 

意思就是, 你必須為數(shù)組中的元素提供唯一的 key 值

React 會 re-render 某個 key 指向的內(nèi)容發(fā)生變化的元素

我們來看一個向 users 集合添加 user 的例子

const users = [
 {username:'bob'},
 {username:'sue'}
];

users.map((u, i) =>
 <div key={u.username}>{u.username}</div>);

render 的結(jié)果如下

<div key="bob">bob</div>
<div key="sue">sue</div>

現(xiàn)在, 我們更新一下 users

const users = [
 {username:'joe'},
 {username:'bob'},
 {username:'sue'}
];

render 的結(jié)果將會改變?nèi)缦?/p>

<div key="joe">joe</div>
<div key="bob">bob</div>
<div key="sue">sue</div>

在上面例子中, React 調(diào)用了它的 Reconciliation 算法, 然后把返回的結(jié)果也就是一個 key 為 sue 的新元素添加到了 users 的最前面

如何選擇 Key

其實, 即使內(nèi)容沒有發(fā)生變化, 改變對應的 key 值, React 也會觸發(fā) re-render.

使用 map 函數(shù)的 index 來作為元素的 key, 對開發(fā)者來說是常見的, 因為有時這是必要的, 然而, 有時這也會導致性能下降問題

users.map((u, i) =>
 <div key={i}>{u.username}</div>);

還是以上的例子, 作了一點小小的改變后, React 瞬間由一個步驟變成了三個步驟:

  • 將 id 為 "1" 的元素從 "bob" 更改為 "joe"

  • 將 id 為 "2" 的元素從 "sue" 更改為 "bob"

  • 新增一個 id 為 "3" 的元素, 他的值為 "sue"

以上是“React中使用collections時key的重要性是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

本文題目:React中使用collections時key的重要性是什么
當前URL:http://aaarwkj.com/article0/gopeoo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、App設(shè)計小程序開發(fā)、網(wǎng)站設(shè)計、品牌網(wǎng)站建設(shè)、ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計公司
国产一区二区视频在线| 午夜福利日本一区二区| 日韩精品一区二区三区人妻视频| 国产精品久久综合网| 国内不卡一区二区三区| 91麻豆亚洲国产成人久久| 精品一区无遮挡免费网站| 国产精品岛国片在线观看| 国产老太婆精品久久久久| 亚洲第一中文字幕久久| 亚洲av成人av天堂| 亚洲精品国产精品乱码不卞| 欧美亚洲国产青草久久| 夫妻性生活视频全过程| 初爱视频教程完整版韩国 | 曰韩av毛片在线观看| 久久久精品免费中文视频| 日韩美女后入式在线视频| 亚洲精品一区二区日本| 国产三级尤物在线观看| 欧美专区另类综合日韩| 日韩乱码高清一本免费啪| 亚洲日本欧美在线一区| 日韩伦理高清在线观看| 中国美女下面毛茸茸视频| 国产亚洲一区二区日韩欧美| 国产伦人偷精品免费视频| 国产亚洲日本一区二区三区| 粗长挺进新婚人妻诗岚| 亚洲国产天堂久久综合| 一卡二卡三卡四卡日韩| 亚洲av成人永久网站一区| 亚洲一区二区三区视频在线观看 | 国产九色91中文在线视频| 国产精品高清另类一区二区三区| 午夜宅男在线视频观看| 99精品久久久中文字幕日本| 午夜福利精品在线观看| 色哟哟网站在线精品视频| 精品国产女同一区二区| 精品久久久久久亚洲电影|