Задать вопрос
@WizardW

В каком месте получать initState в Redux в моем случае?

В стейте Redux храню информацию о пользователе, при первом же заходе на сайт будет отправляться запрос на сервер за информацией по пользователю. Понимаю, что легче сделать в DidMount в рутовом компоненте, но как в моем случае это делать?
Мой index.js
ReactDOM.render(
  <Provider store={store}>
    <Router history={history}>{routes}</Router>
  </Provider>,
  document.getElementById("root")
);

Все роуты routes.js( по сути это и есть корень ):
const routes = (
  <Switch>
    <PrivateRoute exact path="/messages" component={MessagesPageContainer} />
    <RestrictedRoute exact path="/login" component={LoginPageContainer} />
    <RestrictedRoute exact path="/register" component={RegisterPageContainer} />
    <Route component={NoMatch} />
  </Switch>
);

export default routes;


Есть действие получения данных о пользователи:
export const onInitUser = () => dispatch => {
  const capi = new UserApi();
  const res = capi.getUser();
  res.then(user => {
    dispatch({
      type: userActions.FETCH_INIT_USER,
      data: { user: user }
    });
  });
};
  • Вопрос задан
  • 62 просмотра
Подписаться 1 Средний Комментировать
Решения вопроса 1
rockon404
@rockon404 Куратор тега React
Frontend Developer
Я обычно делаю так:
store.dispatch(clientInit());

ReactDOM.render(
  <Provider store={store}>
    <BrowserRouter>
      <App />
    </BrowserRouter>
  </Provider>,
  document.getElementById('root'),
);

В clientInit выполняются все действия необходимые для инициализации приложения.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
SkillsRock Таганрог
от 60 000 до 90 000 ₽
Beetbarrel Калининград
от 90 000 до 140 000 ₽
Beetbarrel Калининград
До 160 000 ₽