样式组件如何影响性能?
How styled-components affect performance?
使用样式组件是否比样式表更能减慢网络应用程序的速度?
如果我关心性能并且没有任何依赖于 props 的样式,我是否应该放弃样式组件并改用样式表?
运行时 CSS-in-JS 库总是会有 一些 的开销,因为它最终会做更多的工作。但是对于这些开销,您还可以获得很大的灵活性和功能。
每个版本我们都改进了库的性能,以至于差异相对难以察觉(尤其是在服务器端渲染时。)
选择最适合您的项目的实现完全取决于您;如果您所有的样式实际上都是静态的,那么纯 CSS 方法肯定是最高效的。但是,这在管理样式表、编写高效的选择器等方面有其自身的注意事项。
当你有很多小组件时,使用 styled-component 渲染,同时,性能开销可能是有意义的。绝对值得测试以删除小元素上的样式组件。
我在 table cells/rows 上使用 styled-component,一次可以生成 27260 span
(单元格)。使用 React 分析器,我的 table 花费了大约 1050-1250 毫秒来生成,一旦我从行和单元格中删除样式化组件,它就变成了 600-630 毫秒。
使用样式组件是否比样式表更能减慢网络应用程序的速度?
如果我关心性能并且没有任何依赖于 props 的样式,我是否应该放弃样式组件并改用样式表?
运行时 CSS-in-JS 库总是会有 一些 的开销,因为它最终会做更多的工作。但是对于这些开销,您还可以获得很大的灵活性和功能。
每个版本我们都改进了库的性能,以至于差异相对难以察觉(尤其是在服务器端渲染时。)
选择最适合您的项目的实现完全取决于您;如果您所有的样式实际上都是静态的,那么纯 CSS 方法肯定是最高效的。但是,这在管理样式表、编写高效的选择器等方面有其自身的注意事项。
当你有很多小组件时,使用 styled-component 渲染,同时,性能开销可能是有意义的。绝对值得测试以删除小元素上的样式组件。
我在 table cells/rows 上使用 styled-component,一次可以生成 27260 span
(单元格)。使用 React 分析器,我的 table 花费了大约 1050-1250 毫秒来生成,一旦我从行和单元格中删除样式化组件,它就变成了 600-630 毫秒。