css - 使用带有 withStyles 和材质 ui 的通用类
问题描述
我正在使用带有 TypeScript 和 Material UI 的 React。所以我有以下布局
<MuiThemeProvider theme={muiTheme}>
<My Component/>
</MuiThemeProvider>
然后在我的组件中,我有类似的东西
let styles: any = ({ palette }: any) => ({
root: {
marginTop: 10
}
});
export default withStyles(styles)(MyComponent);
如果我想root
在多个组件之间共享类,那么首选的方法是什么?我可以在使用创建 Material UI 主题时扩展它createMuiTheme
吗?
任何建议将不胜感激
解决方案
这是我在 Material-ui 中定义自定义主题的方式
const Theme = createMuiTheme({
typography: {
fontSize: 18,
},
palette: {
primary: {
light: '#40bbbf',
main: '#032B43',
dark: '#0b777b',
},
},
customCommonClass: {
textAlign: center,
},
})
Theme.overrides = {
MuiListItemIcon: {
root: {
marginRight: 0,
},
},
MuiListItem: {
dense: {
paddingTop: '4px',
paddingBottom: '4px',
},
},
}
此创作中有 3 个部分:
- 首先,我将定义我的主题的一些默认值(以字体大小和调色板颜色为例)
第二个我创建了一些全局类
customCommonClass
,我可以在以后的所有样式组件中使用(你的问题)我覆盖了某些类的材质 ui 组件。
希望这可以帮助
推荐阅读
- javascript - History.go("部分 URL")
- jquery - Jquery更改为仅针对一个表单项
- php - 如何将表单中的文本框值一一插入到csv?
- r - Docker 中的自定义 R 源程序包
- ms-access - 有没有办法在访问中将多个值添加到 1 个 ID
- c# - 如何使用 asp.net 核心从 appsettings.json 获取配置数据并做出反应
- python - 设置类变量不会更新原始类的实例
- mysql - ERD:仅当实体 1 具有从主键实体 2 标识的外键时,两个实体之间的关系才会存在吗?
- ios - 传递给另一个 ViewController 时重置变量
- python - 运行更改名称的功能时如何修复文件被删除