用户中心项目中遇到bug,知道原因,但不知道如何解决,望大佬请教...的全部评论

用户中心项目中遇到bug,知道原因,但不知道如何解决,望大佬请教...的全部评论
5个评论

看着像是React setState 异步更新状态的问题,下面跳转的逻辑用定时器延迟一下或者状态更新用 flushSync API

2024-06-27
KID
KID
等级vip作者
:
能说得详细点吗
2024-06-27
鱼友0412
把 setState 改成这样看看,flushSync 从 react-dom 引入
2024-06-27
KID
KID
等级vip作者
:
真的可以了,什么原理呀兄弟
2024-06-27
鱼友0412
就是一开始我说的 setState 异步问题,这是 React 状态更新的特性,虽然和 Vue 一样视图都是异步更新的,但但 setState 执行之后不会像 Vue 的响应式数据直接改变, 所以会继续走你后面页面跳转的逻辑,所以页面跳转之后 currentUser 是空的,如果没办法就可以用 flushSync 来强制同步,可以看看针对于这个API的描述,只不过官方不太推荐这种做法罢了:https://react.docschina.org/reference/react-dom/flushSync...
展开
2024-06-27
编程导航_小y
@官方运营 学习、求职、生活问题欢迎交流

小伙伴可以加星球置顶文章小助手微信,拉你进项目交流群和鱼友一起讨论交流 ~

也可看看星球知识库里的(用户中心 项目)问题汇总帖,可以解决你的问题:https://www.codefather.cn/course/1790943469757837313/section/1790943680798437377?type=

👉🏻 星球同学免费认证编程导航会员:https://t.zsxq.com/ZD6L1...

2024-06-27
编程导航_小y
@官方运营 学习、求职、生活问题欢迎交流

看下是不是这个问题

2024-06-27
KID
KID
等级vip作者
:
主要也是因为currentUser为空,但我用的就是修改后的代码[流泪][流泪][流泪]
2024-06-27
KID
KID
等级vip作者
:
感觉是执行顺序的问题,但又说不上来怎么解决
2024-06-27

应该就是一楼说的问题,也可以试试这样 7lnh2rmv

2024-06-28
下载 APP