Как ждать информацию (currentUser) перед componentDidMount - PullRequest
0 голосов
/ 11 ноября 2018

У меня есть страница профиля пользователя, когда я обновляю страницу, мое хранилище резервов очищается, а затем я получаю всю информацию снова из бэкэнда ... но страница моего профиля начинает монтироваться, прежде чем я получу эту информацию обратно.

Я эту функцию в моем "loggedInRoutes.js". Он получит currentUser из токена JWT, который есть у меня в localStorage, и сохранит userName, ID и т. Д. В моем Redux Store

  componentDidMount(){
    if (localStorage.length===0){
     this.props.history.push('/')
    }else{
      this.props.dispatchCurrentUser()
    }
  }

Он находится на верхнем уровне моих маршрутов, оператор switch с моим рендерингом маршрутов находится на той же странице.

На странице моего профиля. (Мне нужно проверить, дружит ли currentUser с пользователем, на профиль которого я зашел, поэтому с самого начала мне нужны обе информации).

  componentDidMount(){
    this.props.fetchProfile(this.props.currentUser, this.props.match.params.userId)
    this.requestFriendshipFunction()
  }

Это работает, если у меня уже есть currentUser в моем хранилище приращений, но если я обновляю страницу, находясь на странице профиля, componentDidMount на странице профиля вызывается до того, как у меня есть эта информация, даже если я вызываю "dispatchCurrentUser" в дополнительном контейнере / родительском компоненте "loggedInRoutes".

Сохранение информации currentUser в локальном хранилище кажется плохой идеей, и я не уверен, куда идти дальше. Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...