【问题标题】:React component only displays status code error message instead of custom onesReact 组件只显示状态码错误消息而不是自定义的
【发布时间】:2020-02-11 02:07:37
【问题描述】:

在 POST 注册新用户期间,我检查该用户是否已存在于 mongoDB 数据库中,如果是,则在注册表附近的反应中显示该用户。我正在使用 express.js 创建我的 API 和 axios 以从客户端发送请求。这就是我检查用户是否已注册的方式。

const user = await Model.User.findOne({email: req.body.email});
if(user) return res.status(400).send('User already registered');

这是点击注册按钮时调用的函数:

handleSubmit= async (userData) =>{
    await apis.registerNewUser(userData)
    .then(res => console.log(res.body))
    .catch(err => {
        console.log(err);
        this.setState({errorMessage: err.message});
    })   
}

问题是我无法显示我在发送响应时添加的自定义错误消息。我没有得到“用户已经注册”,而是在我的注册表单附近显示“400 Bad request”。当我通过邮递员发帖时没有问题,响应文本窗口中显示“用户已注册”响应,但是在反应端收到错误时该部分不存在。我无法向用户发送一个错误,告诉他无法注册的原因。如何在反应中获得“用户已注册”?

【问题讨论】:

    标签: reactjs mongodb express promise axios


    【解决方案1】:

    我找到了解决方案。为了在捕获错误时读取放入 send() 的自定义文本的属性,我需要从 err.response.data 读取 - 这是读取“用户已注册”的正确属性。我希望有一天它对某人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-13
      • 2016-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-18
      相关资源
      最近更新 更多