十亿燚
2018-09-30 18:19
const list = [...this.state.list] 直接写成 const list = this.state.list ,控制台输出是没问题的,是不是用后面这种写法更好一些?不知道展开数组是否还有必要?
这里感觉是简单的赋值操作,用展开运算符意义不大,为了秀es6而使用?
被你选中的最佳答案震惊了,竟然还有人说秀es6的,这样竟然也能成为最佳答案。。。输出没问题,但是react操作思路是拷贝数据进行操作,[...this.state.list]拷贝了数组,而this.state.list拷贝了指针。这里的结果看似一样,但是敲代码的思路完全不一样了,只能说你要考虑代码的可扩展性,如果你这样改,后续肯定会为list和this.state.list头疼的。
这里用展开运算符的作用是为了浅拷贝,如果后者这种赋值对象会指向同一个引用,可能会出现老师所说的问题(不建议直接修改this.state),但是浅拷贝只解决一层对象的问题,更深层的对象还是会引用关系,所以用不用展开运算符都没达到老师所要解决的问题吧?
es6
那你添加数据的时候就要用push方法了,es是趋势,提前了解一下没坏处的
React16.4 快速上手
40002 学习 · 134 问题
相似问题