1.虛擬dom中key的作用:
(1)簡單的說,key是虛擬dom對象的標識蕉鸳,在更新顯示時key起著及其重要的作用端铛;
(2)當狀態(tài)中的數(shù)據(jù)發(fā)生變化時练般,react會根據(jù)新數(shù)據(jù)生成新的虛擬dom,隨后React進行新舊虛擬dom的diff比較服爷,規(guī)則如下:
(a)舊虛擬dom中找到了與新虛擬dom相同key:
(1)若虛擬dom中內(nèi)容沒變杜恰,直接使用之前的真實dom;
(2)若虛擬dom中內(nèi)容變了仍源,則直接生成新的真實dom心褐,隨后替換掉頁面中之前的真實dom;
(b)舊虛擬dom中未找到與新虛擬dom相同key笼踩,根據(jù)數(shù)據(jù)創(chuàng)建新的真實dom逗爹,隨后渲染到頁面
2.用index作為key可能會引發(fā)的問題:
(1)若對數(shù)據(jù)進行如下操作:逆序添加,逆序刪除等嚎于,會產(chǎn)生沒必要的真實dom更新(界面效果沒問題掘而,效率低);
(2)如果結(jié)構(gòu)還包含輸入類的dom于购,會產(chǎn)生錯誤dom更新(界面有問題)袍睡;
(3)如果不存在對數(shù)據(jù)進行逆序添加、刪除等破壞順序操作价涝,僅用于渲染列表等女蜈,使用index作為key是沒有問題;
3.開發(fā)中如何選擇key:
(1)最好使用每條數(shù)據(jù)的唯一標識作為key色瘩,比如id伪窖、身份證號等;
(2)如果確定只是簡單的數(shù)據(jù)展示居兆,使用index作為key值即可覆山。
React虛擬dom中的key值
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人遭垛,你說我怎么就攤上這事尼桶。” “怎么了锯仪?”我有些...
- 文/不壞的土叔 我叫張陵泵督,是天一觀的道長。 經(jīng)常有香客問我庶喜,道長小腊,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任溃卡,我火速辦了婚禮溢豆,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘瘸羡。我一直安慰自己漩仙,他們只是感情好,可當我...
- 文/花漫 我一把揭開白布犹赖。 她就那樣靜靜地躺著队他,像睡著了一般。 火紅的嫁衣襯著肌膚如雪峻村。 梳的紋絲不亂的頭發(fā)上麸折,一...
- 文/蒼蘭香墨 我猛地睜開眼吞瞪,長吁一口氣:“原來是場噩夢啊……” “哼馁启!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起芍秆,我...
- 正文 年R本政府宣布,位于F島的核電站犁跪,受9級特大地震影響椿息,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜坷衍,卻給世界環(huán)境...
- 文/蒙蒙 一寝优、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧枫耳,春花似錦乏矾、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至铅协,卻和暖如春捷沸,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背狐史。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- 1. 虛擬DOM中key的作用: 當狀態(tài)中的數(shù)據(jù)發(fā)生變化時,React會根據(jù)【新數(shù)據(jù)】生成【新的虛擬DOM】鲁豪,隨后...
- 1、虛擬DOM中key的作用: key是虛擬DOM中對象的標識糙申,當數(shù)據(jù)發(fā)生變化時宾添,Vue會根據(jù)【新數(shù)據(jù)】生成【新的...
- 另一種問法是:為什么遍歷列表時扛邑,key最好不要用index怜浅?1、虛擬DOM中key的作用:1).簡單的說:key是...
- 指令 v-bind 單項數(shù)據(jù)解析表達式 可簡寫為 :xxx v-mo...