ajax获取数据一般都写在 componentDidMount 中,而render的调用周期又是在componentDidMount 前面
这导致了ajax还没有进行的时候,render已经完成了,所以在render里面是获取不到ajax的数据的
然后想到了React在更新数据的时候会重新渲染
so 在state中添加了一个状态 loadingData
它看起来是这个样子的
getInitialState: function() { return { loadingData: false } }
在rander中看起来是这个样子的
return ( { this.state.loadingData ? <Helo /> : "" } )
在ajx中看起来是这个样子的
componentDidMount: function() { this.serverRequest = $.get(this.props.source,function (result) { this.setState({ loadingData: true }); var lastGist = result[0]; //do something }.bind(this)); },componentWillUnmount: function() { this.serverRequest.abort(); }原文链接:https://www.f2er.com/ajax/162100.html