为了账号安全,请及时绑定邮箱和手机立即绑定

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下载
官方微信