如何在 redux-observable 中正确使用 Observable.if?

How to use Observable.if correctly in redux-observable?

我正在尝试在 redux-observable 中使用 Observable.if 来确定要分派的操作。

在下面的例子中,我预计它会发送 SIGN_OUT。但是,它不发送任何操作。

如何正确使用?谢谢

export const initEpic = (action$, store) =>
  action$
    .ofType(INIT)
    .mergeMap(() =>
      Observable.if(
        () => true,
        { type: SIGN_OUT },
        { type: START_SOMETHING }
      ));

Observable.if 的两个参数应该是 Observables,所以你应该像这样使用它:

Observable.if(
  () => true,
  Observable.of({ type: SIGN_OUT }),
  Observable.of({ type: START_SOMETHING })
));