Я думаю, что это довольно стандартный способ записать асинхронное c действие в Redux.
export const fetchUser = authToken => {
return async dispatch => {
dispatch({ type: "AUTH_STARTS" });
try {
const res = await axios.get(url), {
headers: {
Authorization: token
}
});
dispatch({
type: "AUTH_SUCCESS",
data: { user: res.data.user }
});
} catch (err) {
dispatch({
type: "AUTH_ERROR",
data: { error: err }
});
}
};
};
Вы должны обработать все случаи, т. Е. FETCHING
, FETCHING_SUCCESS
, FETCHING_ERROR
Это всегда считается хорошей практикой.