特定实体的大量动作/效果

Huge number of actions / effects for specific entity

作为一个 angular 我正在开发的应用程序接近中型到大型,因此动作的数量和效果也在增加。 如何处理特定实体不断增长的动作/效果文件。

我曾尝试将操作分成多个文件,但 Typescript 枚举的问题是它们无法合并。 这里最好的方法是什么? 我的想法之一是拥有专用的枚举文件,根据它们涵盖的应用程序部分在文件中分隔操作,然后为所有这些操作合并一个类型的索引文件。

关于效果的相同问题。 既然是一个@Injectableclass,有没有可能把动作分开放在不同的文件里,然后"merge"合为一个大的class,对于那个特定的实体

NgRx 8,目前处于测试阶段,为此提供了解决方案:

  • createAction: 使用单个函数创建动作
const increment = createAction('increment', props<{amount: number}>())
  • createReducer: 创建 reducer 作为对象映射
const reducer = createReducer(
  {value: 0}, //initial state
  on(increment, (state, action) => { value: state.value + action.amount }
)
  • @ngrx/data:通过简化实体数据的管理同时减少显式量,对 NgRx 进行温和介绍的扩展。

更多信息请访问 next.ngrx.io