通常我使用redux-saga,但目前我需要使用redux-thunk。我使用了模塊化結構,鴨,現在比如我有兩隻鴨子:auth
和user
下面異步操作:在域之間共享動作
AUTH-duck.js
register(credentials) {
return dispatch => {
dispatch(actions.registerRequest());
return service.requestRegister(credentials)
.then((response) => {
dispatch(actions.registerSuccess(...));
// Here I need to dispatch some action from user-duck.js
})
.catch(() => dispatch(actions.registerError(...)))
}
}
用戶duck.js
fetchUser() {
return dispatch => {...}
}
我真的不知道該怎麼不是好惹這兩個模塊,併成功register
後派遣fetchUser
。
我可以從這裏返回register
結果(例如令牌或別的東西)到容器,然後使用鏈接調度fetchUser
。
AuthContainer.js
_onSubmit() {
this.props.register().then(() => this.props.fetchUser);
}
但我不知道是不是與終極版-的thunk來管理這樣的操作的最佳方式?
只要'_onSubmit'在將來沒有變得更復雜,似乎*好的*。我可能會把這個邏輯放在'mapDispatchToProps'內,而不是個人。這樣你的組件就不需要知道任何關於這些動作的信息。 – DonovanM
@DonovanM是的,你說得對,'mapDispatchToProps'更好然後在組件 – Piroru