加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

角度 – Redux Vs BehaviourSubject – 有什么区别?

发布时间:2020-12-17 17:03:54 所属栏目:安全 来源:网络整理
导读:假设您是Angular开发人员,您可能拥有一项名为User Service的服务.此服务具有您的组件订阅的行为主题(请参阅rxjs),并且假设该服务还具有一些方法来更改用户状态. 您的顶级组件侦听用户服务状态并将其输入到其子组件.然后,该子组件调用服务上的方法来更改用户
假设您是Angular开发人员,您可能拥有一项名为User Service的服务.此服务具有您的组件订阅的行为主题(请参阅rxjs),并且假设该服务还具有一些方法来更改用户状态.

您的顶级组件侦听用户服务状态并将其输入到其子组件.然后,该子组件调用服务上的方法来更改用户状态,并且行为主体发出新值.现在,您的组件侦听获取更新的值并将其传递给其子级.

或者在另一个实现中,您在同一级别拥有一堆组件来监听状态更改.一个调用服务方法来改变状态并发出状态,所有组件监听都获得新状态.

在Redux方面,我很新,但我知道有一个州区.你的组件改为写入状态并从那里听取状态.

我没看到差异?我知道Redux还允许您查看实际调用哪些操作来更改状态,而在行为主题示例中,它们完全解耦,并且没有关于状态更改的原因或方式的概念 – 他们只知道状态现在是什么.

有人可以解决一些问题吗?

解决方法

当我遇到一个非常常见的用例时,我遇到了这个问题:开发一个可以从我的app中的任何地方切换的加载器/微调器.

我自己提出了一个类似的问题:redux的好处究竟是什么,特别是当行为主体处理我当前的需求时.

我推荐这篇文章:
https://blog.angular-university.io/angular-2-redux-ngrx-rxjs/

文章提到了应该使用商店的关键时刻,以及一些好处:

>将组件树注入到自然超出范围的组件中时. (使用actsubject避免像这样注入)
>性能,可测试性,工具,可预测性

它还提到使用像Redux这样的商店的负面消息:

>商店确实解决了组件交互的问题,但它也创建了在应用程序中管理状态的需求,否则在使用其他解决方案时可能不存在.

观看完所有视频,阅读所有文字后,我认为Redux很棒.我真的想用它.但是,对于我目前仅共享单个对象状态的用例:

{ show: true }

要么

{ show: false }

当rxjs / behaviorsubject以非常小的开销完全满足我的需要时,采用整个库来处理这种单一状态显然不是正确的选择.

这篇文章真的让我印象深刻:

如果您不知道是否需要Redux,则不需要Redux.

我想也就是说,Redux在这里解决了一个巨大的问题:跨大型数据存储的数据不变性.如果你没有那个问题……你还不需要Redux.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读