ajax获取数据一般都写在 componentDidMount 中,而render的调用周期又是在componentDidMount 前面
这导致了ajax还没有进行的时候,render已经完成了,所以在render里面是获取不到ajax的数据的
然后想到了React在更新数据的时候会重新渲染
so 在state中添加了一个状态 loadingData
它看起来是这个样子的
复制代码
1
2
3
4
5getInitialState: function() { return { loadingData: false } }
在rander中看起来是这个样子的
复制代码
1
2
3return ( { this.state.loadingData ? <Helo /> : "" } )
在ajx中看起来是这个样子的
复制代码
1
2
3
4
5
6
7
8
9
10
11
12componentDidMount: 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(); }
最后
以上就是隐形橘子最近收集整理的关于Reect Ajax render 传递数据到子Component 获取不到数据的全部内容,更多相关Reect内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复