NgRx如何创建无属性Action?解决空对象约束报错
如何创建无属性的Action?
问题场景
遇到如下错误:
Type '{}' does not satisfy the constraint "action creator props cannot be an empty object".
对应的代码:
export const myActions = createActionGroup({ source: 'My Section', events: { someAction1: props<{isEnabled: boolean}>(), someAction2: props<{}>(), // 此处引发错误 }, });
请问如何创建无属性的Action?
解决方案
创建无属性的Action时,不要使用props<{}>,直接使用emptyProps()方法即可,这是专门用于定义无参数Action的官方方式:
export const myActions = createActionGroup({ source: 'My Section', events: { someAction1: props<{isEnabled: boolean}>(), someAction2: emptyProps(), // 无属性Action,无错误 }, });
如果不想额外导入emptyProps,也可以直接传入一个返回空对象的函数,写法如下:
export const myActions = createActionGroup({ source: 'My Section', events: { someAction1: props<{isEnabled: boolean}>(), someAction2: () => ({}), // 同样实现无属性Action }, });
内容的提问来源于stack exchange,提问作者MageWind
相关产品推荐
相关产品推荐

