2017-09-27 56 views
0

我有一個登錄頁面,成功認證後,服務器端將使用react-router更改頁面。但是,由於某種原因,新的「聯繫人」頁面在請求功能完成其任務之前呈現。在React JSX中滿足前提條件之前,新頁面正在呈現中

handleSubmit() { 
    if (makeRequest(this.state.username, this.state.password)) { 
     browserHistory.replace('Contact'); 
    } 
} 

有趣的是,如果登錄細節無效,頁面將不會改變。我在請求函數中有控制檯日誌,它應該在運行時顯示,並且當輸入有效的詳細信息時它們不顯示。

如果替換被註釋掉,makeRequest()完成其任務。

我對JS和React很陌生,知道我必須在邏輯中犯錯誤!謝謝!

+0

如果你提供了更多的代碼可能會很好 –

+0

makeRequest返回什麼?一個承諾或數據? –

回答

1

makeRequest是一個異步任務,你應該使用異步任務管理的解決方案,如SUACH無極,發電機,異步等待

+0

謝謝!我使用了aync庫來連續運行每一行。我被警告說,js中的行不按順序運行,我很高興這現在已經工作 – user3187956

0

你可以在你makeRequest法犯了一個錯誤。 如果您可以向我們展示其實施方案,或者您可以提供類似於您的makeRequest方法的代碼,我們可以爲您提供幫助。

相關問題