4

我正在尝试将ReduxJs 站点中的这个减速器与 NgRx 和 Angular Cli 一起使用:

function createFilteredReducer(reducerFunction, reducerPredicate) {
    return (state, action) => {
        const isInitializationCall = state === undefined;
        const shouldRunWrappedReducer = reducerPredicate(action) || isInitializationCall;
        return shouldRunWrappedReducer ? reducerFunction(state, action) : state;
    }
}

但是我在 prod build 中遇到了这个错误:

app/app.module.ts(504,29) 中的错误:“AppModule”模板编译期间出错“reducers”中的装饰器不支持函数表达式“reducers”包含 app/reducers/index.ts(106) 处的错误,9) 考虑将函数表达式更改为导出函数。

您有什么想法如何使用在 prod 模式下编译的代码来实现此功能?

4

1 回答 1

0

在朋友的帮助下解决了。尝试 :

export function createFilteredReducer(reducerFunction, reducerPredicate) {

在 app.module

import { StoreModule, ActionReducerMap, State } from '@ngrx/store';
import { StoreDevtoolsModule } from '@ngrx/store-devtools';
import { createFilteredReducer} from './redux/reducer';


imports: [
    ...
    StoreModule.forRoot({ createFilteredReducer}),
    StoreDevtoolsModule.instrument({
      maxAge: 25 //  Retains last 25 states
    })
  ]
于 2018-08-08T06:29:38.673 回答