Javascript React-Redux |未处理的拒绝(TypeError):无法读取属性';数据';未定义的
一切正常,直到登录>调度>有效负载:err.response.data。然后给出一个错误: 未处理的拒绝(TypeError):无法读取未定义的属性“data” 我查了很多资料,但找不到有什么问题。 在寄存器中,有效负载:err.response.data工作正常。但是 在登录中,给出此错误Javascript React-Redux |未处理的拒绝(TypeError):无法读取属性';数据';未定义的,javascript,reactjs,redux,react-redux,Javascript,Reactjs,Redux,React Redux,一切正常,直到登录>调度>有效负载:err.response.data。然后给出一个错误: 未处理的拒绝(TypeError):无法读取未定义的属性“data” 我查了很多资料,但找不到有什么问题。 在寄存器中,有效负载:err.response.data工作正常。但是 在登录中,给出此错误 import axios from "axios"; import setAuthToken from "../utils/setAuthToken"; import jwt_decode from "jw
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({}));
};
看起来不错,不过我会试试这个:
response.json({response:{data:“Error…”})
payload:((err |{}).response | |{}).data | | Error unexpected'
这将在具有未定义的值之前检查嵌套对象
选自您是否尝试过在发送前输入console.log并查看err?您好@MarcelT,我试过console.log。它说未定义。但它不能走到正确的方向:“/dashboard”。嗨,对象未定义。我试过你的2。代码。而且开发服务器没有启动。React可能有问题吗?嗨,我想你可能在React中有另一个问题,这就是为什么你的服务器没有启动。在这里张贴错误,如果你有它!哇!我修好了。我重试你的2。代码。说明:警告:失败的道具类型:提供给
登录
的字符串
类型的无效道具错误
,应为对象
。in Login(由Connect(Login)创建in Login(由Route创建)in Route(在App.js:28)in div(在App.js:23)in Router(由BrowserRouter创建)in BrowserRouter(在App.js:22)in Provider(在App.js:21)in App(在src/index.js:7)恭喜!但我不知道你期望的是一个对象,而不是一个“意外错误”的文本。没关系:)