无法在React-0.13.3 CJSX代码

时间:2016-06-30 16:06:39

标签: javascript reactjs coffeescript react-jsx cjsx

我正在开发一个会显示推文的react.js应用。不幸的是,有一个错误说,"无法读取属性' profileImageUrl'未定义的。"这是这一行:

<img src={@props.details.tweet.user.profileImageUrl} />

我使用React 0.13.3来执行此操作。这是我的Coffeescript CJSX代码,其中包含有问题的财产

Tweet = React.createClass
  propTypes:
    details: React.PropTypes.object.isRequired

  render: ->
    <article className="tweet-container">
        <div className="tweet-profile-picture">
            <img src={@props.details.tweet.user.profileImageUrl} />
        </div>
        <div className="tweet-body">
            <header className="tweet-header">
                <div className="tweet-metadata">
                    <a href="//twitter.com/#  {@props.details.tweet.user.screenName}">
                    <span className="name">{@props.details.tweet.user.name}</span>
                    <span className="screenName">{@props.details.tweet.user.screenName}</span>
                </a>
            </div>
        </header>
        <p>{@props.details.tweet.text}</p>
    </div>
    <div className="timestamp">
        <a href="//twitter.com/#{@props.details.tweet.user.screenName}/status/#{@props.details.tweet.idStr}">
            <time datetime={@props.details.tweet.createdAt}><moment(@props.details.createdAtTimestamp).fromNow()}</time>
        </a>
    </div>
</article>

为什么说配置文件图片网址未定义?哪里是开始解决这个问题的最佳地方?谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

检查包装此组件的Tweet的父组件

在你的parentComponent中会有<Tweet details={details}/>

答案 1 :(得分:0)

我最终修复了这项服务。事实证明,@props.details.tweet.user在api中为空。代码现在正常运行。