【问题标题】:I keep getting this error 'TypeError: Cannot read property 'map' of undefined'我不断收到此错误'TypeError:无法读取未定义的属性'map''
【发布时间】:2018-06-08 16:22:10
【问题描述】:

我的代码链接在:https://github.com/justgoof9/IMDB/blob/master/src/App.js

我要渲染的movieRatings 如下:https://i.imgur.com/junHkFj.png

在第 99-104 行中,我尝试渲染movieRatings 但它不起作用。

谁能帮帮我?

【问题讨论】:

  • 请不要张贴图片链接或代码以外的链接,请将其作为格式化文本包含在您的帖子中。至于你得到的错误,这意味着你调用 .map() 的某个变量是未定义的。
  • 无论数据是否已经加载,您的渲染方法都应该以一种可以正常工作的方式编写。这意味着您需要将 this.state.newMovieParsed.movieRatings 初始化为 [] 或使用条件渲染:{ this.state.newMovieParsed.movieRatings && this.state.newMovieParsed.movieRatings.map(...) } (另外,您在解释这个非常清晰的错误消息时遇到困难吗?因为如果是这样,从技术上讲,在堆栈溢出上发布还为时过早)
  • 非常感谢 [] 的工作!

标签: javascript reactjs rendering


【解决方案1】:

您需要使用数组初始化数据,如下所示:

newMovieParsed : {
    movieTitle: '',
    moviePosters: [],
    moviePlot: '',
    movieGenre: '',
    movieBoxOffice: '',
    movieRatings: [],
    movieActors: [],
    imdbId:''
}

第一眼就可以更好地了解您的道具需要哪种类型的数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-18
    • 1970-01-01
    • 1970-01-01
    • 2021-10-23
    • 1970-01-01
    • 2021-04-26
    • 2021-07-06
    相关资源
    最近更新 更多