У меня есть страница профиля пользователя, когда я обновляю страницу, мое хранилище резервов очищается, а затем я получаю всю информацию снова из бэкэнда ... но страница моего профиля начинает монтироваться, прежде чем я получу эту информацию обратно.
Я эту функцию в моем "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 в локальном хранилище кажется плохой идеей, и я не уверен, куда идти дальше.
Спасибо.