Я не уверен, что название вопроса даже правильно сформулировано.Итак, идея в том, что у меня есть отдельные редукторы для списка пользователей (которые я получаю из бесплатного сервиса 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) => {
). Однако, если пользователь входит в систему в произвольный момент времени, это, очевидно, не работает. Я не совсем уверен, как решить эту проблему, так как яесть отдельные редукторы. Какое было бы правильное приложениеРоуч здесь?
Спасибо за любую помощь.