目前我正在尝试使用新的 NgRX 构建 Angular + NgRX 8 应用程序creator功能。但是当我构建这个用于生产时,出现以下错误:
装饰器中不支持函数调用,但在“reducers”中调用了“createReducer”。
在开发模式下完全没有问题。
请求reducer好像
export interface State extends EntityState<Request> {
loading: boolean;
error: any;
}
export const initialState = adapter.getInitialState({
loading: false,
error: null
});
export const reducer = createReducer(
initialState,
on(RequestsActions.loadRequestsSuccess, (state, { requests }) => adapter.addAll(requests, {...state, loading: false})),
on(RequestsActions.loadRequestsFailed, (state, { error }) => ({...state, error, loading: false})),
on(RequestsActions.deleteRequestSuccess, (state, { id }) => adapter.removeOne(id, state))
);
并由一个index.ts与其他减速器一起文件
export const reducers = {
requests: reducer
// [...]
}
StoreModule 是通过减速器映射导入的,如下所示
@NgModule({
imports: [
CommonModule,
StoreModule.forFeature('requests', reducers),
EffectsModule.forFeature(effects),
// [...]
]
})
export class RequestsModule {}
你知道发生了什么事吗?谢谢并欢呼!