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

angular – Redux仅用于维护共享数据

发布时间:2020-12-17 07:02:26 所属栏目:安全 来源:网络整理
导读:在我们的Angular应用程序中,我们计划使用Redux,但我们决定使用它来仅管理至少两个组件共享的数据.只使用一个组件的数据将直接获取,而不使用Redux.对于例如假设组件必须显示值列表,并且这些值不与任何其他组件共享,那么我们将使用服务获取此列表.但是在获取此
在我们的Angular应用程序中,我们计划使用Redux,但我们决定使用它来仅管理至少两个组件共享的数据.只使用一个组件的数据将直接获取,而不使用Redux.对于例如假设组件必须显示值列表,并且这些值不与任何其他组件共享,那么我们将使用服务获取此列表.但是在获取此数据时,它可能会影响商店中的某些其他状态,例如它可能会调度某些操作,如NETWORK_REQUEST_SENT,NETWORK_REQUEST_COMPLETED,以便微调器/覆盖组件可以更改其显示.

现在问题是代码的哪一部分应该负责调度这些操作.

>场景1:从服务获取数据的容器组件可以调度这些操作,但我不认为它属于此处.
>场景2:进行HTTP调用的服务可以调度这些操作,这意味着服务必须订阅HTTP observable并返回其自己的组件可观察对象.
>场景3:可以在Redux中间件中执行,但是我们必须分派一个用于获取值列表的操作,这意味着值列表必须存储在商店中,这是我们不想要的.
>场景4:如here所述,我们可以创建一个抽象层,但后来觉得不需要中间件.

解决方法

如果您正在使用HttpClientModule,则可以注册拦截器,如 https://medium.com/@ryanchenkie_40935/angular-authentication-using-the-http-client-and-http-interceptors-2f9d1540eb8中所述

您可以在调用时调用NETWORK_REQUEST_SENT,在finally调用NETWORK_REQUEST_COMPLETED以在请求完成时调用操作.那么就没有必要再有一个可观察的了.

(编辑:李大同)

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

    推荐文章
      热点阅读