redux-observable 中的 Ideomatic 商店订阅

Ideomatic store subscription in redux-observable

redux-observable 中处理商店 subscription 的理想方式是什么? 由于 store 只会因操作而发生变化,因此创建一个只监视 store 变化的史诗是否合理?

export const onChangeDoSomething: Epic = (action$, state$) =>
  action$.pipe(
    withLatestFrom(state$),
    map(([_, state]) => state.some.key.to.watch),
    distinctUntilChanged(),
    mapTo(MyActions.doSomething())
  );

您的史诗可以简单地订阅可观察到的状态。调整你的例子,像这样:

export const onChangeDoSomething: Epic = (action$, state$) =>
  state$.pipe(
    map(state => state.some.key.to.watch),
    distinctUntilChanged(),
    mapTo(MyActions.doSomething()),
  )