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

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在线一区尤物| 欧美黄片在线免费观看视频| 农村精品少妇久久久久久| 亚洲久久精品一区二区| 久久久久久国产精彩视频| 亚洲国产日韩精品自拍av| 亚洲欧美日韩性生活视频| 自拍偷拍视频欧美第一页| 后入式动漫在线观看| 不卡一区二区国产精品| 黄色日韩大片在线观看| 成人又黄又爽大片在线观看| 欧美亚洲午夜精品久久久| 未满十八周岁禁看视频| 国产亚洲精品视频热| 国产精品无卡无在线播放| 精品人妻av中文字幕| 六十路人妻一区二区三区| 日韩在线啊啊啊的视频| 日韩视频看看色网站| 欧美精品国产一区二区免费| 日本一区二区高清网址| 精品爆白浆一区二区三区| 成人黄色小视频下载| 免费特黄特黄的欧美大片| 亚洲欧美日韩激情另类| 国产蜜臀视频一区二区三区| 国产精品国产精品国产| 乱码日本欧美一区二区| 欧美两性色一区二区三区|