使用"styles"属性或"className"属性+"mergeSt



Fluent UI React的新手。

我一直在修补框架,并通读了我能找到的所有文档。我的理解是,在组件样式方面,鼓励使用CSS-in-JS方法。我看到有两种方法可以做到这一点——通过styles道具和使用mergeStyleSets实用程序功能+className道具。这里有一个代码笔来说明我在这里的意思。

我的问题是,它们是服务于不同的用例还是几乎相同?如何决定使用哪一个?谢谢。

我已经尝试了这两种方法,并且更倾向于mergeStyleSets,因为它为我提供了一种可预测地针对所有内容的方法,而且我不必学习深埋在每个组件中的"魔术类名称"以及它的作用或不影响的内容。话虽如此,对于某些关键组件(如 DataGrid(,涉及很多样式,公开的类并不难学习,并且有助于充分利用这些组件。

当您必须为"悬停"或"活动"或"之前/之后"之类的内容执行选择器时,尤其如此。 试图通过"样式"公开的魔术类名称来工作对我来说比直接在原始HTML上使用"mergeStyles"方法更令人困惑。

所以对我来说,我一直在从框架中挑选,将其用于颜色主题、提升和高度复杂的组件(如 DataGrid(,但不用于 Stack 或 Stack Item 等内容。

最新更新