2017-03-18 73 views
0

我环顾四周,看到了一些有用的答案,但没有什么能够帮助我解决问题。我的相关代码:React-Complete AJAX请求在渲染Dom之前回调

enter image description here 从本质上讲我的想法是让的onSuccess是一个回调函数,这样我就可以完成更新状态之前我所说的子组件游戏键盘与这些道具......任何想法如何不解决这个问题搞乱async属性?

+0

请发表您的实际代码,而不是它的图片 – haxxxton

+0

你看过[Redux](https://github.com/reactjs/redux)与[ReduxPromise](https://github.com/acdlite/)诺言 - 诺言)中东? – haxxxton

回答

0

里面的render()你要返回有条件渲染基于标记的中间加载消息(或微调组件)。让你的ajax请求在完成时切换该标志。

一个非常简单的例子...

render() { 
    if (!this.state.didFetch) return <div>loading...</div>; 
    return <GameBoard />; 
} 

一旦你的Ajax请求更新状态,渲染()方法会自动再次调用,使游戏键盘与道具。有关更多信息,请查看组件生命周期文档 - 特别是有关更新的部分... "An update can be caused by changes to props or state"

作为一个附注,通常认为由于React的虚拟DOM概念而使用jQuery与React通常被认为是不好的做法。如果你不在其他地方使用jQuery,你可能要考虑replacing it completely with axios