为什么 redux-observeable 而不是只有 store.dispatch 的 rxjs?

Why redux-observeable instead of just rxjs with store.dispatch?

我不明白为什么要用redux-observable?难道我不能只创建自己的中间件来监听和发送关于 redux 操作的主题。然后创建使用 store.dispatch()store.getState()?

的管道(代替 epics)

是的,您可以编写自己的 Redux-Observable 风格的中间件。

我认识的其他人必须这样做,因为她的公司还没有采用 RxJS,但是她失去了从 Redux 和 RxJS 管道操作员那里获得的很多工具。

不过,自己动手并不总是最好的方法。 Redux-Observable 在幕后处理了很多棘手的问题。我已经为没有 Redux 的特定场景编写了自己的代码,但如果有,我会选择 Redux-Observable.

一种不同的描述方式,您可以为每个史诗创建一个中间件函数,或者您可以创建一个中间件,将一堆 epics 放在一起并创建一个 parent 管道.

以同样的方式,您可以拥有一个将一堆较小的减速器组合在一起的减速器。 combineReducers 允许您在层次结构中执行此操作,但每个 reducer 都不知道其他 reducer 的状态。

combineEpics 做同样的事情。虽然您可以分层添加它们,但从技术上讲这并不重要。需要明确的是,如果您在代码库中的任何地方关闭 combineEpics ,层次结构确实很重要。可能不建议。

您的问题也可以改写为“如果我可以使用 getStatedispatchsubscribe 方法编写自己的 object,我为什么要使用 Redux?您编写自己的 Redux 的唯一原因是,如果您不想使用 reducer 进行状态管理,或者有一个您想要 Redux-like 行为但实际上不是 Redux 的自定义场景图书馆。