У меня есть действие, делающее запрос POST
на сервер, чтобы обновить пароль пользователя, но я не могу обработать ошибку в цепочке блокировки.Как поймать и обработать ответ об ошибке 422 с помощью Redux/Axios?
return axios({
method: 'post',
data: {
password: currentPassword,
new_password: newPassword
},
url: `path/to/endpoint`
})
.then(response => {
dispatch(PasswordUpdateSuccess(response))
})
.catch(error => {
console.log('ERROR', error)
switch (error.type) {
case 'password_invalid':
dispatch(PasswordUpdateFailure('Incorrect current password'))
break
case 'invalid_attributes':
dispatch(PasswordUpdateFailure('Fields must not be blank'))
break
}
})
При входе ошибки это то, что я вижу:
Когда я просматриваю вкладку сети я могу видеть тело ответа, но по некоторым причинам я не могу получить доступ к значения!
ли я по незнанию допустил ошибку где-нибудь? Потому что я обрабатываю другие ошибки с разных запросов отлично, но не могу работать с этим.
Спасибо за подробный ответ, я просмотрел код репозитория, который помог. В конечном итоге я зарегистрировал объект и смог увидеть объект ответа и обработать данные. дополнительный код: 'let e = {... error}' 'switch (e.response.data.type)' – Cnolimit