我不是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()}