在redux-observable中收听多个动作

时间:2017-10-23 11:59:06

标签: javascript redux redux-observable

我可以听多个动作,而不仅仅是一个动作吗?

目前,为了实现这一目标,我使用combineEpics帮助器在多个史诗中做到了这一点:

combineEpics(
  action$ => action$.ofType("SOME_TYPE_A").mapTo(newAction),
  action$ => action$.ofType("SOME_TYPE_B").mapTo(newAction)
);

但是,我可以使用filter代替:

action$ =>
  action$
    .filter(({ type }) => type === "SOME_TYPE_A" || type === "SOME_TYPE_B")
    .mapTo(newAction);

但是,当我需要监听5个动作时,它不具有可扩展性。例如。

是否存在更优雅的方式来监听多个动作?

1 个答案:

答案 0 :(得分:3)

ofType可以使用多个键,因此您可以使用:

action$ => action$.ofType("SOME_TYPE_A", "SOME_TYPE_B").mapTo(newAction),