特定实体的大量动作/效果
Huge number of actions / effects for specific entity
作为一个 angular 我正在开发的应用程序接近中型到大型,因此动作的数量和效果也在增加。
如何处理特定实体不断增长的动作/效果文件。
我曾尝试将操作分成多个文件,但 Typescript 枚举的问题是它们无法合并。
这里最好的方法是什么?
我的想法之一是拥有专用的枚举文件,根据它们涵盖的应用程序部分在文件中分隔操作,然后为所有这些操作合并一个类型的索引文件。
关于效果的相同问题。
既然是一个@Injectable
class,有没有可能把动作分开放在不同的文件里,然后"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
作为一个 angular 我正在开发的应用程序接近中型到大型,因此动作的数量和效果也在增加。 如何处理特定实体不断增长的动作/效果文件。
我曾尝试将操作分成多个文件,但 Typescript 枚举的问题是它们无法合并。 这里最好的方法是什么? 我的想法之一是拥有专用的枚举文件,根据它们涵盖的应用程序部分在文件中分隔操作,然后为所有这些操作合并一个类型的索引文件。
关于效果的相同问题。
既然是一个@Injectable
class,有没有可能把动作分开放在不同的文件里,然后"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