想知道是否可以执行以下场景。我想创建一个新组件,它实际上是具有另一种样式(基于主题)的现有组件的副本。
让我们以 Button 为例,它带有一个新的伪组件 MyButton
MyButton -> is a Button
在我希望能够拥有的主题中
Theme {
components: {
MuiButton : .... // styles for <Button/>
MyButton : .... // styles for <MyButton/>
}
}
所以从样式的角度来看,我有两个不同的组件(它不是变体,因为两个组件可能都有自己的变体列表)。
作为一个惊人的奖励,如果 MyButton 是使用 Button 类创建更复杂组件的新组件的一部分,您会怎么做。
答案 0 :(得分:1)
目前,无法重置核心组件的样式,但在我们发布 @material-ui/unstyled
包后可以实现。核心组件基本上是无样式组件的 styled()
版本。话虽如此,开发人员可以在无样式组件之上使用 styled()
实用程序,他们可以在其中定义不同的主题名称,从而产生不同的独立组件。