我已经学习RxJS已有一段时间了,尽管我有大量的api文档和有关其用法的工作示例,但我正处于开始用它构建一些应用程序的阶段。
问题是,无论如何尝试,我似乎都找不到任何在线资源来讨论使用RxJS的应用程序的体系结构和设计决策。
类似的事情,我应该将RxJS与助焊剂系统(redux)结合使用,还是单独使用,或者这是一种情况决定? 就像我正在做一个基于回合的小型纸牌游戏一样,我应该有一个循环运行的流,还是应该有外部代码(例如“新游戏”功能)来每次创建新的流作为起点,等等。
基本上在实际项目中使用RxJS的想法,高层架构决策和哲学。
有人知道这类事情的一些体面资源吗?
请明确一点,我不希望api文档或解释RxJS是什么或它如何工作的文档,而不是我想要的信息。
答案 0 :(得分:1)
我发现这类信息非常分散,并散布在许多博客,平台,播客等... Medium也是查找此类信息的好地方。很多时候都是在框架的上下文中进行讨论的,例如:
我对您要执行的操作的个人看法是,您有两种选择:
如果您使用诸如React / Angular之类的框架,请使用状态管理库,例如。 Redux,NgRx。
使用“行为主题”实施您自己的状态管理解决方案。如何使用Angular和RxJS执行此操作是explained here。如果您使用的是React或Vanilla JS而不是Angular,则可以构建类似的东西。
类似的事情,我应该将RxJS与助焊剂系统(redux)一起使用还是 本身,还是这是一个情境决定?
这是一个情况决定-对于较大的应用程序,我将使用状态管理库,因为它可以更好地扩展并允许通过Redux DevTools进行调试。
对于较小的应用程序,您可以仅使用上面提到的“行为主题”解决方案,它的优点是它是一种更简单的解决方案,涉及更少的代码和更少的精神开销。
就像我在做基于回合的小型纸牌游戏一样,我是否应该 运行它的流的循环循环,否则应该有外部代码 即“新游戏”功能可以创建新的流作为开始 每次指向等等。
我认为,应通过选择的任何状态管理解决方案来处理应用程序的整个状态。例如。使用redux,您的“新游戏”功能将触发另外1个操作来重置游戏状态。