渲染通过AJAX

时间:2016-04-21 08:26:28

标签: reactjs redux

我不是React的新手,也不是这里经验最丰富的开发者。现在,我在复杂的个人项目中挖掘自己,以便了解所有反应所提供的内容,并在此方面做得更好。

我现在碰壁了,我想就如何解决这个问题得到一些意见:

我的React + Redux应用中有一个新闻Feed。它使用FetchAPI加载其内容并在此之后呈现内容,如下所示:

componentWillMount: function() {
    getNews() // Populates redux store (this.props.news)
},

render: function() {
    if (!this.props.news.title) return <span>Loading...</span>
    return (
        <div className="news">
            <div className="title">{this.props.news.title}</div>
            <div className="image" style={this.style()}></div>
            <div className="body">{this.props.news.body}</div>
        </div>
    )
}

这适用于SPA,但是当我们尝试渲染这种同构时会出现问题。

我使用pollyfill,因此节点服务器了解FetchAPI。当我加载&#39; / news&#39;直接节点服务器获取了ajax数据,并在预加载文章的情况下呈现新闻页面。然而,客户抱怨校验和无效。&#39;这意味着它在获得响应之前尝试渲染。

我已经阅读了这个问题,并且很多人认为对于SPA,我们需要显示一个“正在加载...”#39;改善用户体验。很多人也认为我们需要通过搜索引擎优化和非JS原因。我想等待服务器上的数据而不是客户端上的数据。如果我在页面加载时出现无效的校验和,并且内容是异步加载的话,我也会喜欢它。

我应该怎么做?我不想写任何

if (server) {wait()} else {renderLoading()}

0 个答案:

没有答案