Я пытаюсь обработать сообщение об ошибке в моем приложении.Я использую Redux-Thunk для асинхронных действий.Это работает довольно хорошо в методе успеха, но мне не удалось поймать и выдать ошибку в мою форму.На самом деле, он отправляет мое собственное действие, которое является loginFailed
действием.
formOnSubmitHandler = event => {
// some codes here...
const { values } = this.props.form;
const { from } = this.props.location.state || { from: { pathname: HOME } };
this.props.userLogin(values, from);
// some codes here...
};
вот мой логин пользователя редукция-thunk:
export const userLogin = user => {
return dispatch => {
dispatch(loginRequested());
return identityApi
.post(AUTH_SIGN_IN, user)
.then(response => {
if (response.data.isSuccess) {
const {
accessToken,
refreshToken,
expires,
email,
name,
surname,
id,
phoneNumber,
isInformed
} = response.data.data;
dispatch(
loginSucceed({
currentUser: {
id,
name,
surname,
email,
phoneNumber,
isInformed
}
})
);
dispatch(
setToken({
accessToken,
refreshToken,
expires
})
);
}
})
.catch(err => {
dispatch(loginFailed(err.response.data.error.message)); // it is working
throw new SubmissionError({
_error: err.response.data.error.message
});
});
};
};