请问老师复制数组是为了避免什么问题呢?

请问老师复制数组是为了避免什么问题呢?

视频里提到

const list = [...this.state.list];

这样写的时候把list复制一遍是为了避免问题,没有太理解这是避免什么问题呢?

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好,是可以这样写的,但是两者会有些许的不同:
1、使用扩展运算符:

http://img1.sycdn.imooc.com//climg/5e8bdb68092ccfa603870147.jpg

http://img1.sycdn.imooc.com//climg/5e8bdb7109e2b53403140165.jpg

2、不使用扩展运算符:

http://img1.sycdn.imooc.com//climg/5e8bdb8209d5315f03450167.jpg

http://img1.sycdn.imooc.com//climg/5e8bdb8a0915fcbd03190165.jpg

3、同学如果有什么猜想,可以自己写代码验证一下,跟着视频老师敲下代码,把自己疑虑的地方套进去,看效果是什么,这是个很好的学习方法呢。

祝学习愉快~

好帮手慕粉 2020-04-06 19:22:14

同学你好,视频老师并不是单纯的使用了这个赋值,后面还有拼接:

http://img1.sycdn.imooc.com//climg/5e8b10bf094a31ea06000067.jpg

在视频的大概9分40秒处:https://class.imooc.com/lesson/1029#mid=24810

祝学习愉快~

  • 提问者 TaraTara #1
    嗯嗯我看到了,我就是想问,这些地方可以不复制直接写么? 比如说老师举例的这个地方能否写成: const list = [this.state.list, this.state.inputValue]
    2020-04-06 19:31:46
好帮手慕粉 2020-04-06 10:24:31

同学你好,这样复制数组是可以将list数组里面的数据直接拿来使用,不用再写一遍来了,而且当list数组里面的内容发生变化,不用再修改两处的:

http://img1.sycdn.imooc.com//climg/5e8a92db09a4c09206830415.jpg

祝学习愉快~

  • 提问者 TaraTara #1
    老师,那这里为什么不直接写: const list = this.state.list; 这样也可以直接用?为什么要复制呢
    2020-04-06 18:29:00
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师