React Material-UI:提供给classes属性的键未在未定义的

时间:2019-06-28 10:31:59

标签: javascript reactjs material-ui

我正在尝试使用docs中所述的makeStyles()覆盖Material-UI样式。但是,当我从父组件的类props中传递类名时,我得到了警告,useStyles中没有进行描述。警告说:

  

警告:Material-UI:提供给classes属性的键label并非未定义。   您只能覆盖以下之一:root。

Codesandbox中的示例

我知道如果我在useStyles中取消注释label: {},此错误将消失。但是我正在制作一个组件库,因此可能会传递here所描述的Button组件的所有属性。

是,问题是

  1. 我真的需要列出Button的所有这些道具吗?
  2. 如何确定应用样式的优先级(组件useStyles中的样式的优先级低于通过道具传递的类名)?

1 个答案:

答案 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>
  );
}

Edit Q-56805325-LabelProp