我正在尝试使用docs中所述的makeStyles()
覆盖Material-UI样式。但是,当我从父组件的类props中传递类名时,我得到了警告,useStyles
中没有进行描述。警告说:
警告:Material-UI:提供给classes属性的键
label
并非未定义。 您只能覆盖以下之一:root。
Codesandbox中的示例
我知道如果我在useStyles中取消注释label: {}
,此错误将消失。但是我正在制作一个组件库,因此可能会传递here所描述的Button
组件的所有属性。
是,问题是
Button
的所有这些道具吗?useStyles
中的样式的优先级低于通过道具传递的类名)?答案 0 :(得分:0)
您可以为example覆盖makeStyle
类{ ...classes, label: 'my-color2' }
:
export default function ContainedButtons(props) {
const classes = useStyles(props);
return (
<div>
<Button variant="contained" classes={{ ...classes }}>
Default
</Button>
<Button variant="contained" classes={{ ...classes, label: 'my-color2' }}>
Default
</Button>
</div>
);
}