[英]Why do css-in-js systems need ThemeProvider/useTheme
(或類似命名,取決於庫)
這些功能純粹是為了便於在應用程序中訪問主題還是提供一些功能/性能優勢?
我通過將主題導入到組件中直接訪問主題或通過 ThemeProvider 訪問主題有什么區別?
我認為任何性能缺陷或收益都可以忽略不計。 然而,它們確實提供了易用性,因為它更容易內聯主題,例如color: ${(theme) => theme.colors.primary}
而不必每次都導入主題文件。 還有一些幫助程序可以使訪問變得不那么冗長。
另一個很大的好處是當您需要使用不同的主題或即時交換它們時。 ThemeProvider
將根據需要更新,您甚至可以使用嵌套在主主題中的不同主題變體。 如果你在做黑暗模式等,真的很有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.