微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

angular – 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以在请求完成时调用操作.那么就没有必要再有一个可观察的了.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐