Перехват 400 неправильных запросов без остановки приложения - PullRequest
1 голос
/ 09 октября 2019

Я пытался создать форму входа в React. В этой форме я отправляю запрос на публикацию в API, который затем отправляет ответ соответственно. Однако в API недопустимые формы возвращают статус 400, который регистрирует ошибку на консоли, что не позволяет мне обрабатывать недопустимую форму. В моем коде я пытаюсь перехватить эту ошибку, используя метод catch, чтобы я мог выполнить необходимую обработку.

Вот соответствующий код:

class LoginModal extends Component {

  state = {
    email: "",
    password: ""
  }

  handleEmailChange = async event => {
    await this.setState({ email: event.target.value, });
  }
  handlePasswordChange = async event => {
    await this.setState({ password: event.target.value, });
  }

  redirect = path => {
    this.props.history.push(path);
  }

  handleSubmit = event => {
    event.preventDefault();

    const user = {
      email: this.state.email,
      password: this.state.password
    };

    api.post(`${api.url}/users/authenticate`, user)
      .then(res => {
          console.log("Succesful login.");
          this.redirect("/dashboard");
      })
      .catch(err => {
          console.log(err);
      })

  }

  render() {
    return (
      //*Render Code*
    );
  }
}

Заранее спасибо залюбая предоставленная помощь.

1 Ответ

1 голос
/ 09 октября 2019

Я думаю, что вы неправильно интерпретируете вывод console.log(err) как исключение, нарушающее работу вашего приложения. Попробуйте войти err.response вместо err и проверить, можете ли вы подтвердить запрос с этими данными.

...