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

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://www.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永久天堂一区二区三区| 91一区二区亚洲嫩草| 99热这里只有精品网址| 国产成人精品视频午夜蜜蜂| 暖暖免费中文高清日本三区| 国产一级成人免费视频| 色哟哟在线观看国产精品| 97在线观看免费公开| 九九视频免费在线播放| 久久精品国产av极品| 人人妻人人澡人人爽老妇| 日韩黄片免费观看大全| 免费国产污在线观看网站| 中文字幕日韩手机在线| 一本之道久久成人综合| 国产精品成人一区二区三| 哪里可以看日韩免费毛片| 香蕉视频在线观看亚洲精品| 国产三级精品久久三级国专区| 熟妇人妻久久中文字幕麻豆网| 97在线亚洲欧美视频| 日韩人妻中文字幕亚洲| 欧美日韩久久免费观看| 日韩欧美二区三区在线| av一区二区日韩电影| 亚洲av日韩av高潮| 国内久久婷婷综合五月趴| 成人黄色免费在线网站| 亚洲华人在线免费视频| 亚洲成av人片一区二久久精品| 女人天堂网av免费看| 亚洲av一区二区三区色多多| 国产精品亚洲精品久久| 在线精品91国产在线观看| 99热精品在线免费观看| 日韩国产精品一区二区| 亚洲欧美午夜不卡视频|