我有一個組件依賴於幾個AJAX調用來完成渲染。 AJAX調用每次都會返回不同的內容。我想有一個按鈕,每次都會重新渲染隨機組件。 現在,我有兩個組件,Random
和Next
。我應該如何構建一個React項目,其中每次渲染組件的方式都不相同?
Next
目前呈現本身是這樣的:
render() {
return (
<div>
<Random variable={this.getVariable()}></Random>
<button>Next</button>
</div>
);
}
和Random
呈現本身是這樣的:
render() {
return (
<div className="clue-module col-md-4">
<div>{this.props.variable}</div>
{this.renderTags()}
</div>
);
}
所以我把它現在的方式是,在Next
,我做一個AJAX調用得到的迴應是this.getVariable()
。然後傳入Random
。 Random
將使用值this.props.variable
作爲請求參數進行AJAX調用。在其render
中,它顯示的值爲this.props.variable
以及this.renderTags()
,這是第二次AJAX調用的結果。
現在這個工作不正常。 AJAX調用是成功的,但不是在一起。我認爲這是因爲在請求完成之前呈現Next
,然後Random
未正確呈現,因爲它沒有及時獲得Next
AJAX調用的結果。
我應該怎樣設計出來?是否所有的請求都在Random
?那麼我將如何設置Next
,以便每次點擊按鈕時都會顯示新的Random
?
您可以將組件作爲一個整體而不僅僅是渲染功能嗎? – Dormouse