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

时间:2019-05-12 10:21:30

标签: angular ngrx angular-state-managmement

作为有角度的应用程序,我正在研究中大型应用程序,因此动作数量(因此效果)也会增加。 一个人如何处理特定实体不断增长的动作/效果文件。

我试图将动作分成多个文件,但是Typescript枚举的问题在于它们无法合并。 最好的方法是什么? 我的想法之一是有一个专用的枚举文件,将动作按照文件所涉及的应用程序部分分开在文件中,然后为所有这些动作合并到一个单一类型中创建一个索引文件。

关于效果的相同问题。 由于它们是一个@Injectable类,因此有可能将动作分离到不同的文件中,然后针对特定实体将它们“合并”到一个大类中

1 个答案:

答案 0 :(得分:2)

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

  • createAction:使用单个功能创建动作
const increment = createAction('increment', props<{amount: number}>())
  • createReducer:将化简器创建为对象图
const reducer = createReducer(
  {value: 0}, //initial state
  on(increment, (state, action) => { value: state.value + action.amount }
)
  • @ngrx/data:该扩展通过简化实体数据的管理同时减少了显式性,提供了对NgRx的简要介绍。

更多信息,next.ngrx.io