antd-style icon indicating copy to clipboard operation
antd-style copied to clipboard

🐛[BUG] useStyles和useTheme的性能问题

Open shanhexi opened this issue 1 year ago • 4 comments

🐛 bug 描述

在我的基础组件Iconfont中我使用了useStyles,这个icon被应用到了antd 虚拟滚动的tree中, 现在我遇到了性能问题,每个icon的渲染都会执行useStyles,我看到createStylesFactory这个方法的执行时间在20ms,这对虚拟滚动的场景应该是不能接受的。 我觉得这个问题同 #158

📷 复现步骤

🏞 期望结果

可以优化useStyles的时间,或者能不能有一个单例的useStyles,没必要每个组件都要去执行useStyles

💻 复现代码

可复现demo: https://codesandbox.io/p/sandbox/frosty-chatelet-j23j8m?file=%2Fsrc%2FDemo.tsx%3A10%2C1

© 版本信息

  • antd-style 版本: [e.g. 1.0.0]
  • 浏览器环境
  • 开发环境 [e.g. mac OS]

🚑 其他信息

image image

shanhexi avatar Oct 22 '24 11:10 shanhexi

嗯,#158 的问题的确存在。上次看过一次,一下子没找到解决方案,最近有空的时候再研究下怎么解比较好。核心应该还是因为引用不同造成了 re-render

arvinxx avatar Oct 22 '24 12:10 arvinxx

嗯,#158 的问题的确存在。上次看过一次,一下子没找到解决方案,最近有空的时候再研究下怎么解比较好。核心应该还是因为引用不同造成了 re-render

好的谢谢,还有个问题就是主题色切换反应有些慢,这个有的解吗,包括lobechat也有这个问题,在页面更复杂的时候这个时间可能会更久。

shanhexi avatar Oct 22 '24 13:10 shanhexi

主题色切换反应有些慢,这个有的解吗

这个应该可以用 cssvar 解。你试下 antd 官网的主题切换速度 OK 吗?

arvinxx avatar Oct 22 '24 16:10 arvinxx

useStyles的性能问题,短期有计划解决吗

legolasNg avatar Jan 16 '25 14:01 legolasNg