通常、私はredux-sagaを使用しますが、現在はredux-thunkが必要です。私は、モジュラー構造のためのアヒルを使用していますし、今例えば私は2匹のアヒル持っている: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);
}
しかし、私は知りません、それはReduxの-サンクでこのような操作を管理するための最良の方法ですか?
「_onSubmit」が今後さらに複雑にならない限り、* okay *のように見えます。私はおそらく、代わりに 'mapDispatchToProps'の中にそのロジックを置きます。そうすれば、コンポーネントはアクションについて何も知る必要はありません。 – DonovanM
@DonovanMはい、正しく、 'mapDispatchToProps'がコンポーネントのメソッドより優れています – Piroru