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

為了賬號安全,請及時綁定郵箱和手機立即綁定

const list = [...this.state.list] 是否可以換個更簡單的寫法

const list = [...this.state.list] 直接寫成?const list = this.state.list ,控制臺輸出是沒問題的,是不是用后面這種寫法更好一些?不知道展開數組是否還有必要?

正在回答

5 回答

這里感覺是簡單的賦值操作,用展開運算符意義不大,為了秀es6而使用?

0 回復 有任何疑惑可以回復我~

被你選中的最佳答案震驚了,竟然還有人說秀es6的,這樣竟然也能成為最佳答案。。。輸出沒問題,但是react操作思路是拷貝數據進行操作,[...this.state.list]拷貝了數組,而this.state.list拷貝了指針。這里的結果看似一樣,但是敲代碼的思路完全不一樣了,只能說你要考慮代碼的可擴展性,如果你這樣改,后續肯定會為list和this.state.list頭疼的。

4 回復 有任何疑惑可以回復我~
#1

it_厚積薄發

這才是最優秀的答案
2020-04-27 回復 有任何疑惑可以回復我~

這里用展開運算符的作用是為了淺拷貝,如果后者這種賦值對象會指向同一個引用,可能會出現老師所說的問題(不建議直接修改this.state),但是淺拷貝只解決一層對象的問題,更深層的對象還是會引用關系,所以用不用展開運算符都沒達到老師所要解決的問題吧?

0 回復 有任何疑惑可以回復我~

es6

0 回復 有任何疑惑可以回復我~

那你添加數據的時候就要用push方法了,es是趨勢,提前了解一下沒壞處的


1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

const list = [...this.state.list] 是否可以換個更簡單的寫法

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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