在redux-observable中,我如何控制减速器或史诗首先对动作做出反应?

时间:2017-07-09 21:47:37

标签: redux redux-observable

E.g。对于某些动作,我希望减速器在史诗之前处理它。反之亦然,其他行动。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:4)

据我所知,你不能修改它 - 减速器将始终先运行。 relevant chunk of redux-observable是:

  return action => {
    const result = next(action);
    input$.next(action);
    return result;
  };

中间件将始终首先将操作传递给管道中的下一个中间件,从而使其到达reducer。只有在返回之后才会将动作提供给史诗。 Redux-Saga完全一样。

答案 1 :(得分:0)

对于您希望在缩减器之前运行epic的任何操作,请执行2个操作。

行动A:在应用程序中发送此内容,在史诗中观看它。如果合适的话,不要在减速器中做任何事情。

行动B:如果行动A符合正确的条件,则在史诗中发送。在减速机中处理这个。