[英]Unhandled Rejection (typeError): Cannot read property of undefined using reactjs axios on google chrome mobile
When inputting incorrect information in my google chrome browser in my laptop I get the error response here's a screenshot of the response in my laptop browser using this code在笔记本电脑的 google chrome 浏览器中输入不正确的信息时,我收到错误响应,这是使用此代码在笔记本电脑浏览器中的响应屏幕截图
axios
.post(`${strapi}/auth/local`, loginData)
.then(res => {
if (undefined === res.data.jwt) {
this.setState({error: res.data.message, Loading: false});
return;
}
sessionStorage.setItem('JWT', res.data.jwt);
sessionStorage.setItem('username', res.data.user.username);
sessionStorage.setItem('role', res.data.user.role.type);
this.setState({Loading: false, token: res.data.jwt, username: res.data.user.username, userEmail: res.data.user.email, isLoggedIn: true});
// window.location.href = '/';
})
.catch(err => {
this.setState({
error:err.response.data.message[0].messages[0].message
})
console.log(this.state.error)
})
however when logging in to my mobile chrome browser using the same lline of code this appears mobile screenshot但是,当使用相同的代码行登录我的移动 chrome 浏览器时,会出现移动屏幕截图
how to fix this issue?如何解决这个问题?
This type of error occur when you are not getting your error.response.当您没有收到 error.response 时,就会发生这种类型的错误。
So, what you can do is you can set default message if you get any unknown errors.因此,如果您遇到任何未知错误,您可以设置默认消息。
let MESSAGE;
if(error.response){
MESSAGE = err.response.data.message[0].messages[0].message
}else{
MESSAGE = 'Something went wrong.'
}
this.setState({
error: MESSAGE
})
Or else you can log your error why this happen否则你可以记录你的错误为什么会发生这种情况
console.log('error',error)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.