我有一个用户个人资料页面,当我刷新页面时,我的redux存储清除了,然后又从后端获取了所有信息...但是我的个人资料页面开始挂载,然后再获取该信息。
我在“ loggedInRoutes.js”中使用此功能。它将从我在localStorage中拥有的JWT令牌中获取currentUser,并将用户名和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()
}
如果我的redux存储中已经有currentUser,则此方法有效,但是如果我在配置文件页面上进行页面刷新时,即使我正在调用配置文件页面中的componentDidMount,在获得该信息之前也会被调用更多容器/父组件“ loggedInRoutes”中的“ dispatchCurrentUser”。
将currentUser信息保存在本地存储中似乎是个坏主意,而且我不确定从何处去。 谢谢。