2017-03-18 74 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