javascript - 未处理的拒绝(类型错误): Cannot read property of undefined using reactjs axios on google chrome mobile

标签 javascript reactjs mobile axios typeerror

在笔记本电脑的 google chrome 浏览器中输入不正确的信息时,我收到错误响应 这是 screenshot使用此代码在我的笔记本电脑浏览器中的响应

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)
        })

但是,当使用相同的代码行登录我的移动 Chrome 浏览器时,会出现此情况 mobile screenshot

如何解决这个问题?

最佳答案

当您没有收到 error.response 时,就会发生此类错误。

因此,如果遇到任何未知错误,您可以设置默认消息。

     let MESSAGE;

     if(error.response){
         MESSAGE = err.response.data.message[0].messages[0].message
     }else{
          MESSAGE = 'Something went wrong.'
     }

     this.setState({
         error: MESSAGE
      })

或者您可以记录错误,为什么会发生这种情况

 console.log('error',error) 

关于javascript - 未处理的拒绝(类型错误): Cannot read property of undefined using reactjs axios on google chrome mobile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59876960/

相关文章:

JavaScript 验证表单/不工作

这种格式的 JavaScript 日期 : "Wednesday, March 03, 2010 05:44:15 PM"

javascript - bootstrap模态高亮不出现

testing - 我在尝试使用 NeoLoad 录制浏览器时遇到了麻烦

javascript - 使用什么框架/工具来构建基于网络的移动应用程序并支持向设备推送通知?

javascript - 什么时候 javascript 必须包含在 <head> 标记中而不是在 </body> 之前?

javascript - 当我点击div时如何获取它的值?

javascript - 如何在 react-dropzone 中将图像转换为 base64?

reactjs - 在 React-Native 的 ListView 末尾显示事件指示器

SSL 中间 SHA2