类型错误:无法读取未定义的属性“长度”(React,heroku)

时间:2021-07-27 08:21:37

标签: reactjs heroku mongoose

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 调用的页面时,它会显示该错误,但是当我在本地机器上运行它时,它运行良好。

以下是我认为不会导致错误的代码片段

{ 
  !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
}

1 个答案:

答案 0 :(得分:0)

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

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

这是错误的

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