在我的react/redux應用程序中,我經常希望將多個動作分派到另一個動作。如何一個接一個地發送多個動作
給出以下示例:成功登錄後,我想存儲用戶數據並在此之後我想啓動另一個從服務器加載應用程序配置的異步操作。
我知道,我可以使用redux-thunk
建立一個行動的創建者這樣
function loginRequestSuccess(data) {
return function(dispatch) {
dispatch(saveUserData(data.user))
dispatch(loadConfig())
}
}
所以我的問題是:
- 當第一
dispatch
回報,已經是所有減速改變狀態聆聽那個動作?我想知道這兩個調度是否嚴格順序運行。 - 此方法是否考慮調度多個操作的最佳做法?如果不是,你會建議什麼呢?
感謝您的幫助!
我看過REDX傳奇,基於發電機/產量,可能適合你想要的。初看起來可能很難,但如果你想控制順序或並行的內容,試試這個http://yelouafi.github.io/redux-saga/docs/advanced/SequencingSagas.html –
順序和同步,ReactJS將批量更新並異步運行其更新(渲染等),所以你可能只會得到一個渲染。請參閱https://github.com/reactjs/react-redux/issues/291 –