dvajs/dva

react 18 下,dva 的状态更新可能延迟于dispatch.then

herbertxy opened this issue · 2 comments

What happens?

对于嵌套较深的,数据处理耗时较长的组件,在effect 运行完 yield save 状态值后,return ,dispatch().then 之后,上层引用的dva 更新的props 才更新到子组件。
导致的结果就是 state 更新落后于 dispatch().then

比如某个修改props.b 的dispatch
输出的props.b 是旧的
1677570797258

最小可复现仓库

复现步骤,错误日志以及相关配置

相关环境信息

  • Umi 版本:3.5.x
  • Node 版本:16+
  • 操作系统:win11

最近打算升级umi4, 也不知道有没有其他人遇到类似问题

额,应该是不管了的