简体   繁体   中英

React/Redux - Handling errors and error codes

I am wondering what is the best way for me to be handling errors, and when I should be using error codes in response from my API in conjunction with an errors object.

I have just started building a multi-part form in react, every time a user moves onto the next step in the form I am sending a request to the API to validate the data before moving onto the next step, and sending back a response of true/false with an errors object if they exist.

My question is, when I am returning generic errors, eg:

if( hasErr == true ) {
    res.status(200).json({
        success: false,
        errors: errorsObject
    });
}

Should I be sending a status of 200 back, or should I be sending back a response with an error code somewhere in the 400 range?

Currently on the client side when I am recieving a response, my basic redux action looks like this:

this.props.createlistingAction(this.state).then(

    (res) => {

        if( res.payload.success == true ) {
            console.log('Success!');
        } else {
            console.log('We have errors!');

            this.setState({ errors: res.payload.errors });
        }

        console.log(res);
        //this.props.history.push('/'),
    },
    (err) =>  { // error
        console.log(err.response);
        this.setState({errors: err.response.data.errors, isLoading: false});
    }

);

Is it ok to be handling errors like this? Or if you do suggest I send back a 400 error response, how should I be getting these errors when the payload only contains a generic error "Error: Request failed with status code 400 at createError"?

Thanks

您还可以返回状态码与200不同的内容。因此,您应该轻松地在响应的正文中返回与错误和错误详细信息有关的HTTP状态码。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM