为什么在重新选择重构后,ngrx应用程序中的状态现在未定义?

时间:2016-12-15 17:22:12

标签: angular redux ngrx reselect

我刚刚完成了我以前工作的应用程序,并重构了它以使用重新选择作为ngrx示例应用程序now does。我没有任何编译错误,但我有这个运行时错误:

error_handler.js:53 TypeError: Cannot read property 'token' of undefined
    at loggedIn (session.reducer.ts:46)

来自我session.reducer.ts文件中的此代码

export const loggedIn = (state: Session) => !!state.token;

这是主应用页面中用于显示/隐藏登录用户名称的标志。页面几乎完全是空白的,我遇到了与未定义的状态的其他部分相同的问题。我不知道该尝试什么。

1 个答案:

答案 0 :(得分:1)

您正在使用createSelector构建根减速器。可能是输入错误。您可能希望compose减速器功能:

const developmentReducer = compose(
    storeFreeze,
    localStorageSync(['session'], true),
    combineReducers)(reducers);

const productionReducer = compose(
    localStorageSync(['session'], true),
    combineReducers)(reducers);