React-js错误未定义“类型”属性

时间:2018-02-03 16:19:06

标签: javascript reactjs

我想在登录后立即注销用户,所以我可以在redux中看到它是否有效并且我收到此错误:未捕获错误:操作可能没有未定义的“类型”属性。你拼错了吗?

成功后我应该在我的redux中获得AUTH_LOGOUT动作 - example image。 据我所知,checkAuthTimeout中的错误是:

export const checkAuthTimeout = (expirationTime) => {
return dispatch => {    
    setTimeout(() => {
        dispatch(logout())
    }, expirationTime )
}}

我的退出:

export const logout = () => {
return {
    type: actionTypes.AUTH_LOGOUT
}}

并且认证:

export const auth = (email, password) => {
return dispatch => {
    dispatch(authStart());
    const authData = {
        email:email,
        password:password,
        returnSecureToken: true
    }
    axios.post('https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyPassword?key=AIzaSyCpqBy-KjAJWCMUYLHVWAIu_HWZd3yzHVE', authData)
        .then(response => {
            console.log(response);
            dispatch(authSuccess(response.data.idToken, response.data.localId));
            dispatch(checkAuthTimeout(response.data.expiresIn));
        })
        .catch(err => {
            dispatch(authFail(err.response.data.error));
        });
}}

1 个答案:

答案 0 :(得分:0)

错误本身非常清楚,您的操作类型的值为undefined。含义actionTypes.AUTH_LOGOUT未定义。

尝试在actionTypes.AUTH_LOGOUT上执行console.log,可能未定义或未正确导入。向我们展示定义和导入它的文件,但我很肯定,问题在于您如何导出或导入它。