第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

list賦值

拷貝list,為何要展開后再賦值,直接=this.state.list不可以嗎?

正在回答

6 回答

如果從正確性上來說,用push是不對的,state狀態(tài)強(qiáng)調(diào)的是immutable,所以建議一定要拷貝一個(gè)副本來操作。這是偏底層的東西了

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

qiaoyang

const list = [...this.state.list]展開賦值與直接const list = this.state.list賦值效果上并沒有區(qū)別,老師的意思是后面這種賦值不算拷貝副本么?
2018-08-14 回復(fù) 有任何疑惑可以回復(fù)我~
#2

慕萊塢5310431 回復(fù) qiaoyang

const list = this.state.list這種肯定不是拷貝了,引用類型直接賦值只是多了一個(gè)引用,指向的還是同一個(gè)內(nèi)存,擴(kuò)展運(yùn)算符會(huì)新開一個(gè)內(nèi)存
2018-08-21 回復(fù) 有任何疑惑可以回復(fù)我~
#3

qiaoyang 回復(fù) 慕萊塢5310431

明白了,謝謝
2018-08-22 回復(fù) 有任何疑惑可以回復(fù)我~

還是沒懂耶,直接操作原有state狀態(tài)為什么會(huì)有性能問題呢,相比之下拷貝一個(gè)副本還要多開辟一個(gè)空間呢

0 回復(fù) 有任何疑惑可以回復(fù)我~

不要說些黑話,哈哈

0 回復(fù) 有任何疑惑可以回復(fù)我~

為什么React這么麻煩。。

1 回復(fù) 有任何疑惑可以回復(fù)我~

要新增一個(gè)數(shù)據(jù),實(shí)現(xiàn)的方式很多,展開是一種方式,直接使用push方法也是一樣的

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

HoSalt

是為了獲得一個(gè)新的對象,用slice,concat等可以達(dá)到相同的效果,展開只是一種方式
2018-07-19 回復(fù) 有任何疑惑可以回復(fù)我~

js深淺拷貝的問題。

比如:

let?obj1?=?{
??age:?1
};
let?obj2?=?obj1;
obj2.age?=?2;
console.log(obj1.age);?//?2
1 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號