私は、複数の機能がアクション内の各コールバックの応答に呼び出しを行う必要があるかどうかを、論理的な問題を持っている:Redux - アクションまたはレデューサーで一連の関数を呼び出す?
export const myAction=() => (distaptch, getState) => {
callFunctionA(function(e){
if(e){
dispatch(eventA(e));
callFunctionB(function(e){
dispatch(eventB(e));
callFunctionC(function(e){
dispatch(eventC(e));
});
});
}
});
}
または私はReduxの減速にこれらの呼び出しを移動すると、そこからすべての次の関数を呼び出すことができます?
const reducer = (state={}, action) => {
switch (action.type) {
case 'EVENT_A':
callFunctionB(action.e);
return state;
case 'EVENT_B':
callFunctionC(action.e);
return state;
default:
return state
}
}
2番目のアプローチは、スパゲッティコードにつながるアンチパターンのように見えます...多分私は間違っていますか?
「第2のアプローチは、アンチパターンのように見える」最初のものはコールバック地獄のように見える –
@Daniel_L、あなたはレデューサーの機能を呼び戻すことを検討するだろうか? – ArkadyB
私はredux-sagaやredux-observableのような非同期アクションの変換を扱うライブラリを検討することを検討します。これは、メンテナンスが容易なコードで終わらないためです。 –