【发布时间】:2021-05-11 16:58:40
【问题描述】:
无法在 Button 上使用 className 覆盖样式。相同的样式在TextField 上正常工作。使用 style 属性允许覆盖 Button 样式。
我错过了什么?
问题链接:https://codesandbox.io/s/bold-dewdney-r6y8u
相同的代码:
import React from "react";
import { Button, TextField } from "material-ui";
import { makeStyles } from "@material-ui/core/styles";
const useStyles = makeStyles((theme) => ({
buttonStyle: {
backgroundColor: "#ADD8E6"
}
}));
const App = () => {
const classes = useStyles();
return (
<div>
<Button className={classes.buttonStyle}>Failed Submit</Button>
<Button style={{ backgroundColor: "#CACACA" }}>Working Submit</Button>
<br />
<br />
<TextField className={classes.buttonStyle} label="Name" />
</div>
);
};
export default App;
【问题讨论】:
-
您正在从错误的包中导入
Button。请看这个帖子:stackoverflow.com/questions/56875498/… -
您似乎开始将沙箱更改为使用
@material-ui/core而不是material-ui;但是,您使用的是 v5 的 alpha 而不是稳定的 v4 版本。使用 v4,您的代码可以正常工作:codesandbox.io/s/wonderful-meitner-9u38d?file=/src/App.js. -
谢谢@RyanCogswell,你是对的。将库从
material-ui更改为@material-ui/core后,即使是 alpha-24 版本,一切正常。
标签: css reactjs button material-ui styles