Redux with React - изменение состояния между редукторами - PullRequest
0 голосов
/ 22 октября 2018

Я не уверен, что название вопроса даже правильно сформулировано.Итак, идея в том, что у меня есть отдельные редукторы для списка пользователей (которые я получаю из бесплатного сервиса https://reqres.in/) и механизм аутентификации (который я также получаю из того же сервиса). Текущее приложение доступно здесь (Вы можете просто нажать кнопку входа в систему): https://codesandbox.io/s/wov2pk8n18

Проблема заключается в следующем. Я не знаю, где сделать первоначальную загрузку пользователей в приложении. В настоящее время это просто в корнеприложение (src/index.js, строка 14):

const store = createStore(rootReducer, applyMiddleware(thunk));
store.dispatch(loadUsers());

Правильно ли это? Где я могу вызвать эту рассылку, чтобы я больше соответствовал передовым методам сокращения?

Основная проблема заключается в следующем: пользователи загружаются, только если пользователь вошел в систему, следовательно, это в src/actions/users.js (строка 34):

if (!token) {
    return dispatch(getUsersFailure(`Not authorized!`));
}

Это работает, только если пользователь уже вошел в систему., так как я передаю состояние редуктору (return async (dispatch, getState) => {). Однако, если пользователь входит в систему в произвольный момент времени, это, очевидно, не работает. Я не совсем уверен, как решить эту проблему, так как яесть отдельные редукторы. Какое было бы правильное приложениеРоуч здесь?

Спасибо за любую помощь.

...