leitingsw 2021-05-27 15:50 采纳率: 0%
浏览 614

JS react数组push后,添加的元素拿不出来。

先定义了一个长度为2 的数组,由于后端写了一个方法,所以在.then()里push这个数组。

当方法执行后console.log这个新的数组,发现显示元素个数还是2,但展开之后里面有三个元素,length也显示为3。

这样的话我用list[2]是undefined,拿不出来添加的元素。

有什么解决办法吗。

  • 写回答

7条回答 默认 最新

  • CSDN专家-showbo 2021-05-27 15:56
    关注

    取list[2]的代码要放到then push代码后,看到控制台的感叹号了吗,提示对象被修改过,因为console.log打印当时的值,如果后续被修改后展开就有感叹号

     

    使用到then都是异步执行的,如果获取list的代码放到then外面,异步没返回就已经执行获取list[2]的代码了,是无法获取到的,为undefined

    评论

报告相同问题?

悬赏问题

  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题