【发布时间】:2017-12-05 21:17:42
【问题描述】:
我有 react-redux 应用程序在开发过程中可以正常工作,没有错误,但在生产中,它不起作用。
我已经完全删除了 redux-dev-tolls 等,但没有机会。
我收到此错误;
TypeError: Cannot read property 'isLoading' of undefined
我在这样的 react 渲染函数中声明了 signInStatus 和 isLoading;
const {signin, signInStatus} = this.props
const {
isLoading,
isSucceeded,
idErrorMessage,
passwordErrorMessage,
generalErrorMessage
} = signInStatus;
连接;
const reduxInjected = connect(({signInStatus}) => ({signInStatus}), {
signin,
signInResetForm,
signinStorage
})(LoginEmailPasswordForm);
....
减速机;
const signInStatus = (state = {isLoading: false, isSucceeded: false}, action) => {
switch (action.type) {
// Hot Module Replacement
case EPIC_END:
return {isLoading: false, isSucceeded: false};
case ...:
return {...state, isLoading: false, isSucceeded: false};
case ...:
case ...:
case ...:
return {isLoading: true, isSucceeded: false};
case ...:
case ...:
const {accessToken, idToken, expiresIn} = action;
let expiresAt = JSON.stringify((action.expiresIn * 1000) + new Date().getTime());
return {isSucceeded: true, token: {accessToken, idToken, expiresAt}};
case ...:
return {isSucceeded: true, isLoggedIn: true, token: action.token, user: action.user};
case ...:
return {}
case ...:
const newState = {}
const {error} = action;
...
return {...newState, isLoading: false, isSucceeded: false};
case ...:
return {...state, isLoggedIn: true, user: action}
case ...:
return {}
default:
return {...state}
}
}
你可以看到 signInStatus 有初始状态,但它说它是undefined
可能是什么原因?
谢谢。
【问题讨论】:
-
告诉我们你在哪里结合减速器/设置商店
-
或者你没有正确注入提供者
标签: redux react-redux