Angular:Redux 与服务(带有 observables)

标签 angular redux

是的,我知道它已经被问了几个变种,但我对所有的答案都不满意。

关于的所有答案特点 redux 中的一个,但没有一个是必不可少的:

  • 你不需要绑定(bind)任何服务,只需要监听 redux 状态 => 有什么不同?它为我保存了什么?
  • 您可以跟踪状态更改并且调试很容易 => 很好,但仅此而已。出于这个原因选择复杂的架构?

  • 你能给我一个使用 redux 而不是 Angular 服务的基本/重要理由吗?

    最佳答案

    我认为主要标准是您的客户逻辑的复杂性。是否足够复杂,使服务过于复杂?计算某些 UI 约束所需的状态数据的不同部分之间是否存在任何复杂的依赖关系?

    在某些时候,您可能会发现自己正在实现与现有 sate mgmt 库的功能类似的东西。

    例如,您可能有某种向导用于设置一些监控的复杂过程,该监控通过许多不同的选项来处理传入的数据。

    步骤之间可能存在依赖关系,步骤本身不需要详细了解(因此在步骤 1 中的某些操作完成之前,您无法转到步骤 2,或者步骤 3 可能取决于步骤 2 中选择的一组标志和很快)。您可能希望将所有状态创建和更新逻辑保存在一个地方(跟踪代码执行路径的能力也是一件值得记住的好事情)。

    例如,您可以在此处尝试将您的状态实现为 NGXS 状态。定义人类可读的操作,将更新逻辑保存在专门为其设计的单独类中,提供从状态到组件的 observables。您不必复制负责发送更新信号的逻辑(例如,重新计算字段更改的第 2 步完成标志并通过相应的主题发送)。

    一开始可能看起来也很难理解,但另一方面,下一个向导会感觉不那么难做,而且您不必为应用程序中的所有状态都这样做。

    关于Angular:Redux 与服务(带有 observables),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57249141/

    相关文章:

    angular - 将 FirebaseUI 与 AngularFire2 结合使用

    Angular 2从 child 导航到 parent

    javascript - 从 HTML 表单创建 PDF?后端还是前端应该负责?

    reactjs - 在 redux-observable 中 - 如何调度操作 "mid-stream"而不返回该操作的值?

    angular - 如何在 apache Tomcat8 服务器中部署 Spring boot 后端和 Angular 6 前端应用程序?

    javascript - 基于动态 bool Angular 显示div

    reactjs - 使用单个mapDispatchToProps有什么缺点?

    reactjs - 使用 redux 存储标准化数据

    javascript - React 从组件中的 axios 获取响应

    javascript - 这是一个有效的递归函数吗?