Как я могу обработать ошибки в действии избыточности? - PullRequest
0 голосов
/ 21 марта 2020
import axios from "axios";
export const createNewUser = (newUser, history) => async dispatch => {
  try {
    await axios.post("http://localhost:9090/users/register", newUser);
    history.push("/login");
    dispatch({
      type: "GET_ERRORS",
      payload: {}
    });
  } catch (err) {

    dispatch({
      type: "GET_ERRORS",
      payload: err.response.data
    });
  }
};

Это мое действие, у меня есть форма, в которой я привязываю входные данные к своему состоянию, и я вызываю действие, когда отправляю форму следующим образом:

onSubmit(e) {
    e.preventDefault();
    const newUser = {
      "username": this.state.username,
      "fullName": this.state.fullName,
      "password": this.state.password,
      "confirmPassword": this.state.confirmPassword
    };
    console.log(this.props)
    this.props.createNewUser(newUser, this.props.history);
  }

componentWillReceiveProps(nextProps) {
    console.log(nextProps)
    if (nextProps.errors) {
      this.setState({ errors: nextProps.errors });
    }
  }

Это все В учебнике по весенней загрузке и реагированию я считаю, что точно следовал ему, однако не получаю таких же результатов. Я даже скопировал код, как он есть в учебнике. Когда я нажимаю «Отправить», я вижу в консоли ошибку 400, но состояние (ошибки) остается неопределенным.

Вот что возвращает мой бэкэнд, когда я проверяю с помощью отладчика:

<400 BAD_REQUEST Bad Request,{password=Password must be atleast 6 characters, fullName=Please enter your full name, username=username is required},[]>
...