亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將索引作為鍵,這是一個好習慣嗎?還是我應該使用 react-uuid?

將索引作為鍵,這是一個好習慣嗎?還是我應該使用 react-uuid?

米脂 2022-10-21 11:02:19
你可以用這個檢查!!dataJson && Object.keys(dataJson).lengthfunction check(dataJson) {  return !!dataJson && Object.keys(dataJson).length;}console.log(check(""));console.log(check([]));console.log(check({}));console.log(check({"name" :"test"}));
查看完整描述

3 回答

?
翻過高山走不出你

TA貢獻1875條經驗 獲得超3個贊

React expects stable static key which will last till component life 

Using this key, it decide whether new component instance need to

create or  have to update existing component instance property.

react-uuid每當您調用時都會生成動態密鑰,uuid()并且它將在每次渲染時重新生成。


每當發生重新渲染時,動態生成的新密鑰將導致創建一個新的組件實例。


最好只從集合中創建一個密鑰,該密鑰不會更改并存在于集合中,直到數據存在于集合中。


盡量避免react-uuid并使用第一種方法。


查看完整回答
反對 回復 2022-10-21
?
喵喔喔

TA貢獻1735條經驗 獲得超5個贊

我的觀點是,當你想使用 key = index 時要小心,有些方法可以改變你的數組(切片/拼接),索引會很亂。只是我的看法,兄弟。



查看完整回答
反對 回復 2022-10-21
?
德瑪西亞99

TA貢獻1770條經驗 獲得超3個贊

我不會使用索引作為鍵,因為

當索引用作鍵時,重新排序列表或從列表中添加和刪除項目可能會導致組件狀態出現問題。如果鍵是索引,則重新排序項目會更改它。因此,組件狀態可能會混淆,并可能將舊密鑰用于不同的組件實例。

因此,請避免這種做法,并確保生成唯一的 ID 以分配為鍵。

因此,正如您提到的,UUid 是最好的。唯一生成密鑰的來源

希望能幫助到你。隨時懷疑


查看完整回答
反對 回復 2022-10-21
  • 3 回答
  • 0 關注
  • 107 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號