Osw*_*ldo 100 javascript rxjs redux
我知道Redux是Flux的一个更好的"实现",或者更好地说它是一个简化事物(应用程序状态管理)的重新设计.
我听过很多关于反应式编程(RxJS)的内容,但我还没有去学习它.
所以我的问题是:这两种技术之间是否存在任何交集(任何共同点)或它们是互补的?......还是完全不同?
And*_*ltz 170
简而言之,它们是非常不同的库,但是有一些模糊的相似之处.
Redux是一个在整个应用程序中管理状态的工具.它通常用作UI的体系结构.可以将其视为(一半)Angular的替代品.
RxJS是一个反应式编程库.它通常用作在JavaScript中完成异步任务的工具.把它想象成Promise的替代品.
反应式编程是一种范式(工作和思考方式),从远处观察数据变化.数据不会从远处更改.
这是一个从远处改变的例子:
// In the controller.js file
model.set('name', 'George');
Run Code Online (Sandbox Code Playgroud)
该模型被改变从控制器.
这是从远处观察的一个例子:
// logger.js
store.subscribe(function (data) {
console.log(data);
});
Run Code Online (Sandbox Code Playgroud)
在Logger中,我们观察Store(从远处)发生的数据更改,并写入控制台.
Redux稍微使用了Reactive范例:Store是被动的.您没有从远处设置其内容.这就是store.set()Redux中没有的原因.商店从远处观察行动,并自行改变.商店允许其他人从远处观察其数据.
RxJS也使用Reactive范例,但它不是一个体系结构,它为您提供了基本的构建块Observable,以实现这种"远距离观察"模式.
总而言之,为不同的目的,非常不同的东西,但分享一些想法.
cmd*_*mdv 32
它们是非常不同的东西.
RxJS可用于执行反应式编程,是一个包含250多个运算符的非常全面的库.
Redux就像github repo中描述的那样"Redux是JavaScript应用程序的可预测状态容器".
Redux只是一个处理应用程序状态的工具.但相比之下,你可以在RxJS中构建一个完整的应用程序.
希望这可以帮助 :)
mdi*_*ici 10
Redux只是一个状态管理库,带有明确定义的更新操作标准。只要您坚持标准,您就可以保持数据流的健全和易于推理。它还带来了通过中间件和存储增强器增强数据流的能力。
RxJS是反应式编程的工具包。实际上,您可以将应用程序中发生的每一件事都视为流。RxJS 提供了一个非常丰富的工具集来管理这些流。
RxJS 和 Redux 拦截在哪里?在 redux 中,你用动作更新你的状态,显然这些动作可以被视为流。使用像 redux-observable 这样的中间件(您不必这样做),您可以以反应方式实现所谓的“业务逻辑”。另一件事是您可以从您的 redux 存储创建一个可观察的对象,这有时可能比使用增强器更容易。
| 归档时间: |
|
| 查看次数: |
30708 次 |
| 最近记录: |