【问题标题】:TypeError: Cannot read property 'length' of undefined (React, heroku)TypeError:无法读取未定义的属性“长度”(React,heroku)
【发布时间】:2021-10-03 01:38:14
【问题描述】:
react_devtools_backend.js:2574 TypeError: Cannot read property 'length' of undefined
    at ra (react-dom.production.min.js:156)
    at ba (react-dom.production.min.js:167)
    at Object.wa [as useEffect] (react-dom.production.min.js:167)
    at Object.t.useEffect (react.production.min.js:22)
    at hn (makeStyles.js:191)
    at p (makeStyles.js:228)
    at withStyles.js:55
    at oa (react-dom.production.min.js:157)
    at La (react-dom.production.min.js:176)
    at Vs (react-dom.production.min.js:271)

如何解决此错误?我使用 react build pack 在 Heroku 上托管了我的 react 应用程序,当我尝试加载一些进行 API 调用的页面时,它显示了该错误,但是当我在本地机器上运行它时,它运行良好。

以下是我认为不会导致错误的代码的 sn-p

{ 
  !this.props.loading ? this.props.packs && 
  this.props.packs?.length > 0 && this.props.packs?.map((pack) => 
  { return <Pack key={pack.id} 
  pack={pack} onPurchasePackage={this.onPurchasePackage}/> }) : null
}

【问题讨论】:

  • 您好,请先分享代码,以便我们为您提供帮助。第二次尝试在开发工具中调试,看看问题出在哪里
  • @TalOrlanczyk 感谢您的回复。我不认为错误来自我的代码,从我分享的 sn-p 你会看到它来自“react_devtools_backend.js”
  • api 调用来自本地机器的同一个端点?我的意思是服务器端是同一个端点?
  • @TalOrlanczyk 我不确定我是否正确理解了您的问题。但是前端和后端是不同的端点
  • 我的意思是前端调用相同的后端端点,例如:dev: localhost:3000 staging: localhost:3000

标签: reactjs heroku mongoose


【解决方案1】:

我发现我的代码存在问题。问题在于我放置材料 ui hoc 的方式。

export default connect(mapStateToProps, mapDispatchToProps)(withStyles(useStyles)(withErrorHandler(Packages, axios)));

这是错误的

export default connect(mapStateToProps, mapDispatchToProps)
(withStyles(styles, { withTheme: true })(withErrorHandler(Packages, axios)));

【讨论】:

    猜你喜欢
    • 2020-07-20
    • 2020-03-07
    • 1970-01-01
    • 2020-06-12
    • 1970-01-01
    • 1970-01-01
    • 2021-12-05
    • 1970-01-01
    相关资源
    最近更新 更多