在render方法中对react js对象属性进行了未定义

时间:2018-04-24 14:38:44

标签: javascript reactjs firebase firebase-realtime-database lodash

我正在尝试使用与<{1}}属性匹配的url参数,使用 lodash Firebase数据库中检索作为对象数组的记录。当我尝试在render方法中显示对象属性(例如$customQuestion->ticket_type->required属性)时,我得到slug。如果我登录日志url,我会得到正确的参数。

这是我从Firebase获得的对象:

TypeError: Cannot read property 'url' of undefined

这是我的组件:

this.props.match.params.slug

我做错了什么?

1 个答案:

答案 0 :(得分:0)

因为您的pictures为空,并且lodash未找到。 很少修复您的renderImage方法:

    renderImage() {
    if (!this.state.pictures || this.state.pictures.length === 0) {
      return ("Loading...");
    } else {
      return <p>{_.find(this.state.pictures, { slug: this.props.match.params.slug }).url}</p>
    }
 }

那么,在获取之后,如果你在图片中有一些项目,这个方法将被正确渲染。