В плане так их надо передать в редюсер для ошибок, а в компоненте следить за изменением этого редюсера...
Не надо. Ошибку и состояние загрузки можно обрабатывать в том же редьюсере, что и токен.
const initialState = {
isFetching: false,
token: null,
error: null,
};
function auth(initialState, action) {
switch(action.type) {
case LOGIN_REQUEST:
return {
...state,
isFetching: true,
error: null,
};
case LOGIN_SUCCEEDED:
return {
...state,
isFetching: false,
token: action.payload,
};
case LOGIN_FAILED:
return {
...state,
isFetching: false,
error: action.payload,
};
default:
return state;
}
}
Будет ли правильным делать запросы из компонента?
Не будет.
Ведь так при ошибке мы может её сразу добавить в стейт errors компонента и всё.
Не ясно зачем вам вообще добавлять ошибку в state.
const mapStateToProps = state => ({
error: loginErrorSelector(state),
});
render() {
const { error } = this.props;
if (error) return <TryAgain error={error} action={login} />;
return ( /* ... */ );
}