dvajs / dva

🌱 React and redux based, lightweight and elm-style framework. (Inspired by elm and choo)
https://dvajs.com/
MIT License
16.24k stars 3.17k forks source link

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

Closed herbertxy closed 1 year ago

herbertxy commented 1 year ago

What happens?

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

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

最小可复现仓库

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

相关环境信息

herbertxy commented 1 year ago

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

herbertxy commented 1 year ago

额,应该是不管了的