私はredux非同期アクションを処理するためにredux-observable
を使用します。クリアアクションepicのための無限ループ
idでモジュールの状態をクリアする必要があります。
これは私のclearModuleByIdEpic
次のとおりです。
const clearModuleByIdEpic = (action$: ActionsObservable<any>) => {
return action$.ofType(t.CLEAR_MODULE_BY_ID)
.map((action: IActionPayload<any>): string => action.payload.id)
.map(clearModuleById);
}
これは私のコンポーネントのメソッドです:clearModuleById
アクションを呼び出します。
private onClear(id: string) {
this.props.clearModuleById(id);
}
しかし、削除ボタンをクリックすると、onClear
クリックイベントが発生します。
これは、clearModuleById
アクションの無限ループをトリガーします。
私は間違いを犯しましたか?
また、これはおそらく、redux-observableの動作のわずかな誤解のためです - あなたの叙事詩は、後で*減速機に到達した*後の動作を受信するので、着信を再ディスパッチする必要はない行動。概念的には、私はあなたの叙事詩がサイドレビュックスに沿って走っていると思っています。彼らは通常の犠牲者を呑み込むことや他の方法で防止することはできません、彼らは行動を聞くことができ、オプションで、通常は副作用を実行した後、ある時点で他の行動を出すことを決めます。 – jayphelps