reactjs - 如何在 componentDidMount 之前等待信息(currentUser)
问题描述
我有一个用户个人资料页面,当我刷新页面时,我的 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 在我获得该信息之前被调用,即使我正在调用“dispatchCurrentUser”在更多容器/父组件“loggedInRoutes”中。
将 currentUser 信息保存在本地存储中似乎是个坏主意,而且我不确定从这里去哪里。谢谢你。
解决方案
推荐阅读
- javascript - Chrome.storage.local.set:无法正确设置和推入数组
- javascript - 如何将内联图例添加到 highchart 中的折线/区域混合图表
- python - 如何防止图表标题在图形更新后左对齐?
- android - 如何在中文ROM中动态启用自动启动?
- spring - 如何在测试用例运行期间拥有spring data jpa的存储库接口bean
- php - 使用 Stripe PHP 捕获错误
- javascript - 如何使用 Cheerio 获得这些值?
- android - 编辑文本并将字符串传递给 ViewModel?
- css - 溢出-y 不显示全文
- c++ - 通过其接口访问可变参数模板结构