【发布时间】:2019-03-25 08:09:49
【问题描述】:
一切都很好,直到登录>调度>有效负载:err.response.data。然后报错: 未处理的拒绝(TypeError):无法读取未定义的属性“数据” 我检查了很多来源,但找不到问题所在。 在寄存器中,有效负载:err.response.data 完美运行。但 登录时出现此错误
import axios from "axios";
import setAuthToken from "../utils/setAuthToken";
import jwt_decode from "jwt-decode";
import { GET_ERRORS, SET_CURRENT_USER } from "./types";
// Register User
export const registerUser = (userData, history) => dispatch => {
axios
.post("/api/users/register", userData)
.then(res => history.push("/login"))
.catch(err =>
dispatch({
type: GET_ERRORS,
payload: err.response.data
})
);
};
// Login - Get User Token
export const loginUser = userData => dispatch => {
axios
.post("/api/users/login", userData)
.then(res => {
// Save to localStorage
const { token } = res.data;
// Set token to ls
localStorage.setItem("jwtToken", token);
// Set token to Auth header
setAuthToken(token);
// Decode token to get user data
const decoded = jwt_decode(token);
// Set current user
dispatch(setCurrentUser(decoded));
})
.catch(err =>
dispatch({
type: GET_ERRORS,
payload: err.response.data
})
);
};
// Set logged in user
export const setCurrentUser = decoded => {
return {
type: SET_CURRENT_USER,
payload: decoded
};
};
// Log user out
export const logoutUser = () => dispatch => {
// Remove token from localStorage
localStorage.removeItem("jwtToken");
// Remove auth header for future requests
setAuthToken(false);
// Set current user to {} which will set isAuthenticated to false
dispatch(setCurrentUser({}));
};
【问题讨论】:
-
您是否尝试过在调度之前放置一个 console.log 并查看错误?
-
嗨@MarcelT。 ,我试过console.log。它说未定义。但它不能走正确的路:“/dashboard”。
标签: javascript reactjs redux react-redux