Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用StoreRouterConnectionModule时,根减速器显示为空_Javascript_Angular_Redux_Ngrx - Fatal编程技术网

Javascript 使用StoreRouterConnectionModule时,根减速器显示为空

Javascript 使用StoreRouterConnectionModule时,根减速器显示为空,javascript,angular,redux,ngrx,Javascript,Angular,Redux,Ngrx,我正在我的项目中尝试StoreRouterConnectionModule,以了解它是如何工作的。但当我将该模块导入到我的应用程序模块时,我的减缩器显示为空对象 另一方面,如果我将伪回调作为reducer发送,比如()=>({test:'test'})。显示的减速器已填充 我错过了什么 应用程序模块内部 imports: [ StoreModule.forRoot(reducers, { metaReducers }), EffectsModule.forRoot([RootEf

我正在我的项目中尝试StoreRouterConnectionModule,以了解它是如何工作的。但当我将该模块导入到我的应用程序模块时,我的减缩器显示为空对象

另一方面,如果我将伪回调作为reducer发送,比如
()=>({test:'test'})
。显示的减速器已填充

我错过了什么

应用程序模块内部

imports: [
    StoreModule.forRoot(reducers, { metaReducers }),
    EffectsModule.forRoot([RootEffects]),
    StoreRouterConnectingModule.forRoot({ stateKey: 'router' }),
    StoreDevtoolsModule.instrument(),
]
根还原剂

export const reducers: ActionReducerMap<AppState> = {
    router: routerReducer,
    root: fromRoot.rootReducer
}
解决方案

在我的案例中,问题是因为我使用metronic angular主题,而keen themes团队犯了一个错误

问题是metronic angular使用了StoreFreeze模块,该模块已被弃用,并导致StoreRouterModule出现一些问题,因为ngrx@4

我删除并启用了ngrx几年来本机支持的
strictStateImmutability

export const rootReducer = (state = initialState, action: RootActions.RootActions): RootState => {
    switch (action.type) {
        case RootActionTypes.Action1:
            return {...state} // push action1 items
        case RootActionTypes.Action2:
            return {...state} // push action2 items
        case RootActionTypes.Action3:
            return {...state} // push action3 items
        default:
            return state;
    }
};