Не могу вернуть ответ от избыточного толка - PullRequest
0 голосов
/ 01 мая 2018

Я вызываю действие от компонента:

this.props.createWebsite(this.state)

Это вызывает действие и проходит в каком-то состоянии. Действие выглядит так:

export const createWebsite = data => {
  return (dispatch, getState) => {
    return axios.post(
        API.path + 'website/', 
        {
            // some data
        }
    )
    .then(response => {

    })
    .catch(error => {

    })
  }
}

Я хочу обработать ответ и ошибку в компоненте, который вызвал это, а не в самом действии. Как я могу это сделать? Я пробовал:

this.props.createWebsite(this.state).then(response => { /**/ }).catch(error => { /**/ })

Это вроде работает , но не выявляет ошибок.

1 Ответ

0 голосов
/ 01 мая 2018

Вам необходимо удалить улов из декларации createWebsite.

Обрабатывает ошибку и не распространяет ее. Так что ошибка потеряна. Чтобы получить это:

Снять защелку

export const createWebsite = data => {
  return (dispatch, getState) => {
    return axios.post(
        API.path + 'website/', 
        {
            // some data
        }
    )
    .then(response => {
      return response;    
    })
  }
}

отбросить исключение

export const createWebsite = data => {
  return (dispatch, getState) => {
    return axios.post(
        API.path + 'website/', 
        {
            // some data
        }
    )
    .then(response => {
      return response;
    })
    .catch(error => {
      // Do something
      throw error;
    })
  }
}
...