样式组件如何影响性能?

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 毫秒。