无法读取未定义的属性推送

Posted

技术标签:

【中文标题】无法读取未定义的属性推送【英文标题】:Can't read property push of undefined 【发布时间】:2021-03-06 09:45:18 【问题描述】:
userInfoList: any = [];
userInfoList: any[] = [];  // tried this also
this.userInfoList.push(payload);

我已经尝试了很多,但我没有得到这个错误的确切解决方案。

【问题讨论】:

错误信息表明 userInfoList 未定义,即那里没有数组对象。通常如何在 node.js 中声明一个允许出现push 的数组? 【参考方案1】:

您可以将其声明为 const userInfoList = [];然后userInfoList.push()

【讨论】:

你可以尝试用 'var' 来声明它。有效载荷包含什么? payload 实际上包含我想在后端发送的数据,在得到服务器的响应后,我想推入 userInfoList。【参考方案2】:

我假设你有一些带有add 方法的类。

有两种方法可以实现:

第一选择

class Foo 

  userInfoList: any[] = [];

  add(payload: number) 
    this.userInfoList.push(payload);
  

第二个选项

class Bar 

  constructor(public userInfoList: any[])  

  add(payload: number) 
    this.userInfoList.push(payload);
  

【讨论】:

谢谢,但我已经完成了第一个选项,并再次遇到未定义的相同错误,还尝试了第二个选项,但无法实现。尽管一切都很清楚,但我无法找出这个逻辑背后的错误 请分享您的完整代码。只用 3 行代码很难找出你的问题 我的错误。基本上它来自后端问题。现在我的代码工作正常。非常感谢@captain-yossarian 的宝贵时间。

以上是关于无法读取未定义的属性推送的主要内容,如果未能解决你的问题,请参考以下文章

无法读取未定义的属性推送

reactjs - 无法读取未定义的属性推送

VueJS 3 / 路由器 / 带有推送的重定向:未捕获(承诺中)类型错误:无法读取未定义的属性(读取“推送”)

ReactJS TypeError:无法读取未定义的属性“推送”

Vue.js - 无法读取未定义的属性“推送”[重复]

无法读取未定义的属性“推送”以进行反应使用历史[重复]