如何使redux存储表现为可观察的?

时间:2016-05-14 23:19:25

标签: javascript redux rxjs

Here,建议使用以下代码从Redux商店创建一个可观察的流,而不是直接订阅它。

function toObservable(store) {
  return {
    subscribe({ onNext }) {
      let dispose = store.subscribe(() => onNext(store.getState()));
      onNext(store.getState());
      return { dispose };
    }
  }
}

我无法弄清楚如何将其集成到Rx中。如何使用此代码实现Observable.fromReduxStore之类的内容?。

1 个答案:

答案 0 :(得分:3)

对于一个已经有this的库,但是如果你想自己动手使用RxJS。 (免责声明:未经测试)

Rx.Observable.fromReduxStore = function(store) {
  return Observable.create((observer) => {
    let dispose = store.subscribe(() => observer.next(store.getState()));
    observer.next(store.getState());
    return dispose;
  });
};

根据您使用的版本特别说明,RxJS v4 Observer使用onNext而v5使用next