簡體   English   中英

為什么 css-in-js 系統需要 ThemeProvider/useTheme

[英]Why do css-in-js systems need ThemeProvider/useTheme

(或類似命名,取決於庫)

這些功能純粹是為了便於在應用程序中訪問主題還是提供一些功能/性能優勢?

我通過將主題導入到組件中直接訪問主題或通過 ThemeProvider 訪問主題有什么區別?

我認為任何性能缺陷或收益都可以忽略不計。 然而,它們確實提供了易用性,因為它更容易內聯主題,例如color: ${(theme) => theme.colors.primary}而不必每次都導入主題文件。 還有一些幫助程序可以使訪問變得不那么冗長。

另一個很大的好處是當您需要使用不同的主題或即時交換它們時。 ThemeProvider將根據需要更新,您甚至可以使用嵌套在主主題中的不同主題變體。 如果你在做黑暗模式等,真的很有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM