Office Fabric UI I[component]StyleProp vs I[component]Styles 接口使用

Office Fabric UI I[component]StyleProp vs I[component]Styles interface use

在 Office Fabric UI 文档中,每个组件都有两个接口,例如

https://developer.microsoft.com/en-us/fabric#/components/nav

INavStyleProps 界面

INavStyles 界面

实现 INavStyleProps 的组件可以接受任何列出的道具来自定义样式,例如

我想知道是否有任何方法可以与通过文档公开的 INavStyles 类 进行交互;本质上,实现 INavStyles 接口向组件的消费者保证了什么,除了列出的 类 和样式被实现。有没有一种方法可以覆盖、自定义或以其他方式与通过此接口公开的 类 进行交互,类似于我们如何使用道具与实现 INavStylesProps 的组件进行交互。

这里 link 显示了导航的两个界面的使用。这是我们为 Nav 提供默认样式的方式。

为了覆盖任何 INavStyles area, you can use the styles 道具的默认样式并传递给它一个 styleFunctionOrObject。正如您从提供的第一个 link 中看到的那样,INavStyleProps 用于传递一些要在 Nav 或布尔值的部分样式中使用的值,以具有某些条件样式。另外,这就是我们将主题传递给样式的方式。

您可以传递给 styles 属性的样式函数看起来与我们用来提供默认样式的函数完全一样,减去了 getGloballClassNames。此外,如果您只想设置一个区域的样式,return 类型应该是 Partial<INavStyles>,因为所有区域都是必需的,如果您不为所有区域提供样式,它会抱怨。

如果这消除了关于如何使用这两个界面的困惑,请告诉我。