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

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è)計公司
可以免费看的欧美黄片| 九九热视频这里是精品| 丁香婷婷麻豆激情综合网| 久久精品亚洲国产成人av| 我的农村中年激情熟妇| 男人的天堂av免费看看| 天天干天天干夜夜操| av色狠狠一区二区三区| 日本加勒比系列在线视频| 激情五月婷婷我有我色| 蜜桃视频手机在线观看| 中文字幕成人资源网站| 成人黄色av在线看| 亚洲国产欲色有一二欲色| 热久久青草精品欧美一区| 91老熟女露脸大合集| 国产日韩欧美一区二区三区四区| 成人av免费高清在线播放| 白浆视频在线免费观看| 精品国产美女主播在线| 欧美特黄在线免费观看| 国产农村熟妇av国语对白| 中文字幕人妻秘书社长| 欧美精品高清在线视频| 91九色中文视频在线观看| 中文字幕二区三区人妻| 欧美黄片精品在线观看| 国产自愉怕一区二区三区| 免费精品一区二区三区欧美| 韩日男人女人性生活视频| 欧美国产日本日韩在线黄| 人妻中出中文字幕一区二区| 久久精品国产一区二区三区91| 一二三四在线观看日本资讯| av久久精品在线观看| 亚洲精品国产av一区二区三区| 亚洲国产成人欧美日韩另类| 国产精品伦一区二区视频| 亚洲一区有码在线观看| 97人妻人人澡人人添人人爽| 日韩人妻精品中文字幕专区不卡|