为什么可以使用redux-observable而不是带有store.dispatch的rxjs?

问题描述 投票:0回答:1

我不明白为什么我需要使用redux-observable?我不能只是创建自己的中间件来侦听和发出有关redux动作的主题。然后创建使用store.dispatch()store.getState()的管道(代替史诗)?

redux-observable
1个回答
0
投票

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

我认识的其他人必须这样做,因为她的公司尚未采用RxJS,但是随后,她却失去了从Redux和RxJS管道运营商那里获得的很多工具。

虽然自己做并非总是最好的方法。 Redux-Observable在幕后处理了许多艰巨的任务。我为没有Redux的特定场景编写了自己的脚本,但是如果有,我会使用Redux-Observable。

一种不同的描述方式,您可以为每个史诗创建一个中间件功能,也可以创建一个将一堆史诗放在一起并创建一个父管道的单个中间件。

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

combineEpics做同样的事情。尽管您可以按层次添加它们,但是从技术上讲这并不重要。需要明确的是,层次结构对于在代码库中的任何位置输送combineEpics都至关重要。可能不建议。

您的问题也可以改写为“如果我可以使用getStatedispatchsubscribe方法编写自己的对象,为什么我应该使用Redux?您编写自己的Redux的唯一原因是如果您在这种情况下,您不想使用reducer进行状态管理,或者在自定义方案中希望获得类似Redux的行为,但实际上并不需要Redux库。

© www.soinside.com 2019 - 2024. All rights reserved.