我正在尝试使用ReduxJs site中的这个reducer与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模式下编译的代码来实现此功能?
答案 0 :(得分: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
})
]