ant-design / cssinjs

https://ant-design.github.io/cssinjs
MIT License
235 stars 57 forks source link

fix: should cleanup styles in useEffect cleanup function #141

Closed MadCcc closed 10 months ago

MadCcc commented 10 months ago

React 18 启用 useInsertionEffect 时,切换主题的场景下,样式会先于 token 写入 cache 并插入 dom,因此在某些场景下(比如这个 PR 的测试用例),最新的样式会被 token 卸载清除。

解法:把清除 token 样式的逻辑全部放在 useEffect 的 cleanup 方法中执行,这样会保证在渲染的最后执行清除逻辑。

github-actions[bot] commented 10 months ago

😭 Deploy PR Preview b79520f2324e838649d7738a359b64ab5a82a237 failed. Build logs

🤖 By surge-preview