作为一个角度应用程序,我正在研究中型到大型的方法,因此动作的数量和效果也在增长。如何处理特定实体不断增长的动作/效果文件。
我曾尝试将操作分成多个文件,但 Typescript 枚举的问题是它们无法合并。这里最好的方法是什么?我的一个想法是拥有专用的枚举文件,根据它们所涵盖的应用程序部分在文件中分离操作,然后为所有这些操作合并为一个类型的索引文件。
关于效果的同样问题。由于它们是一个@Injectable
类,是否可以将不同文件中的操作分开,然后针对该特定实体将它们“合并”到一个大类中
作为一个角度应用程序,我正在研究中型到大型的方法,因此动作的数量和效果也在增长。如何处理特定实体不断增长的动作/效果文件。
我曾尝试将操作分成多个文件,但 Typescript 枚举的问题是它们无法合并。这里最好的方法是什么?我的一个想法是拥有专用的枚举文件,根据它们所涵盖的应用程序部分在文件中分离操作,然后为所有这些操作合并为一个类型的索引文件。
关于效果的同样问题。由于它们是一个@Injectable
类,是否可以将不同文件中的操作分开,然后针对该特定实体将它们“合并”到一个大类中
目前处于测试阶段的 NgRx 8 提供了一个解决方案:
createAction
: 使用单个函数创建动作const increment = createAction('increment', props<{amount: number}>())
createReducer
:创建reducers作为对象映射const reducer = createReducer(
{value: 0}, //initial state
on(increment, (state, action) => { value: state.value + action.amount }
)
@ngrx/data
:通过简化实体数据的管理同时减少显式性的数量,对 NgRx 进行了温和的介绍。更多信息请访问next.ngrx.io