如何将 400 错误中的 json 数据从 Express 返回到 React?

All*_*lan 1 node.js express reactjs

我的后端有一系列错误,我想将它们发送回客户端以显示。

我正在像这样在我的行动中提出请求

export const registerUser = registeredUserData => async (dispatch) => {
    const response = await axios.post('/user/register', registeredUserData);
};
Run Code Online (Sandbox Code Playgroud)

在后端我有这样的东西

if (errors && errors.length) {
    res.status(400).json({ errors });
  }
Run Code Online (Sandbox Code Playgroud)

我的问题是如何将错误数组返回给客户端?

我尝试换行awaittry catcherrorincatch只包含一个名称,error而没有data.

有效的是,如果我摆脱status(400). 然后像成功调用一样处理它,并将数据分配给response变量。

有没有办法在保持错误状态的同时捕获客户端的数据?

Myk*_*ybo 6

做这个:

catch (error) {
    if (error.response) {
        console.log(error.response.data); // => the response payload 
    }
}
Run Code Online (Sandbox Code Playgroud)