material-ui - 一个具有多种主题样式的组件(Material-UI v5)
问题描述
想知道是否可以执行以下场景。我想创建一个新组件,它实际上是具有另一种样式(基于主题)的现有组件的副本。
让我们以 Button 为例,带有一个新的伪组件MyButton
MyButton -> is a Button
在我希望能够拥有的主题中
Theme {
components: {
MuiButton : .... // styles for <Button/>
MyButton : .... // styles for <MyButton/>
}
}
因此,从样式的角度来看,我有两个不同的组件(它不是变体,因为两个组件可能都有自己的变体列表)。
作为一个惊人的好处,如果 MyButton 是一个使用 Button 类来创建更复杂组件的新组件的一部分,你会怎么做。
解决方案
目前,无法重置核心组件的样式,但在我们发布@material-ui/unstyled
包之后,这将是可能的。核心组件基本上styled()
是无样式组件的版本。话虽如此,开发人员可以styled()
在无样式组件之上使用该实用程序,他们可以在其中定义不同的主题名称,从而产生不同的独立组件。
推荐阅读
- mysql - SQL Server 无法使用“导入数据”功能
- android - PostValue 没有在 MVVM 中更新我的观察者
- c# - 如何在 Serilog Sink 中使用依赖注入?
- python - 了解PCA逆变换python
- c++ - MQTT 在 C++ 中接收消息
- java - 我无法打开我的课程只是找到一个 BuildConfig 文件
- reactjs - 如何为setState更新多维json数组中的特定键值对?
- python - 使用numpy.delete(...)删除数组[('aa',1),('bb',2)],删除第一列后,第二列变成字符串
- sockets - 不使用 HTTP 协议的便携式实时双向库
- sql - 使用参数化查询在 SSRS 中执行子查询