【发布时间】:2021-02-01 17:28:42
【问题描述】:
(或类似名称,取决于库)
这些功能纯粹是为了便于在应用中访问主题,还是提供一些功能/性能优势?
通过将主题导入组件直接访问主题或通过 ThemeProvider 访问主题有什么区别?
【问题讨论】:
标签: styled-components emotion chakra rebass styled-system
(或类似名称,取决于库)
这些功能纯粹是为了便于在应用中访问主题,还是提供一些功能/性能优势?
通过将主题导入组件直接访问主题或通过 ThemeProvider 访问主题有什么区别?
【问题讨论】:
标签: styled-components emotion chakra rebass styled-system
我认为任何性能缺陷或收益都可以忽略不计。然而,它们确实提供了易用性,因为更容易获得主题内联,例如color: ${(theme) => theme.colors.primary},而无需每次都导入主题文件。还有一些帮助程序可以使访问不那么冗长。
另一个很大的好处是当您需要使用不同的主题或即时交换它们时。 ThemeProvider 将根据需要更新,您甚至可以使用嵌套在主 theme 中的不同主题变体。如果您正在使用暗模式等,这真的很有帮助。
【讨论】: