flushSync这里是起什么作用呢

来源:4-3 React 18 的重要更新和使用之新特性

qq_慕妹2034599

2023-10-28

setCount1((count1 + 1))

setCount2((count2 + 1))

这两个方法无论是否被flushSync包裹效果是一样的,那么这个flushSync是起什么作用的呢?如何体现不同呢?

写回答

1回答

黑石

2023-10-28

你好,我在视频是说的是:不同的,没有说是一样的,您是哪里看到说效果是一样的?在 react18中,setState 会被合并处理,加了 flushSync 包裹,就不会合并了。

0
3
向学习者学习
老师我看现在react19文档里面对flushSync的说明(https://zh-hans.react.dev/reference/react-dom/flushSync),好像flushSync既会破坏state更改的合并批处理,除此之外好像也会破坏state更改的异步的样子。也就是说,使用flushSync包裹的setState更改会立即同步生效给DOM(破坏合并),而在交互中也会拿到最新值而不是此前的state快照了(破坏异步?),这个有点晕不太明白诶,
2024-12-28
共3条回复

React18+TS+NestJS+GraphQL 全栈开发在线教育平台

平台级应用+流行全栈技术+实用职场技巧&面试策略 助你升职加薪

442 学习 · 247 问题

查看课程