Я нашел несколько сообщений, касающихся переопределения стилей, но ничего похожего на проблему, с которой я столкнулся. Я создаю стилизованные компоненты material-ui и импортирую их в разные части моего приложения. Я хочу иметь возможность переопределить некоторые из моих стилей из различных родительских компонентов.
У меня есть компонент кнопки:
import React from "react";
import { makeStyles } from "@material-ui/styles";
const useStyles = makeStyles({
buttonBlue: {
background: "#09a1e2",
border: "1px solid #09a1e2",
borderRadius: "5px",
color: "#ffffff",
cursor: "pointer",
fontSize: "1.25rem",
padding: ".75rem 1.25rem .75rem 1.25rem",
"&:hover": {
backgroundColor: "#ffffff",
color: "#09a1e2"
}
},
buttonWhite: {
background: "#ffffff",
border: "1px solid #666666",
borderRadius: "5px",
cursor: "pointer",
fontSize: "1rem",
padding: ".5rem",
width: "6rem",
"&:hover": {
backgroundColor: "#666666",
color: "#ffffff"
}
}
});
const MediumButton = props => {
const color = props.color;
const classes = useStyles();
return (
<div>
{color === "blue" ? (
<button className={classes.buttonBlue}>{props.buttonText}</button>
) : (
<button className={classes.buttonWhite}>{props.buttonText}</button>
)}
</div>
);
};
export default MediumButton;
, который я буду импортировать в другой компонент. Я хочу переопределить некоторые из этих стилей в моем новом компоненте, но я не могу понять, как именно.
Вот что я пытаюсь:
import React from "react";
import { makeStyles } from "@material-ui/core/styles";
import { withContext } from "../../context/AppContext";
import MediumButton from "../components/MediumButton";
const useStyles = makeStyles({
root : {
display: "flex",
},
homeButton: {
background: "white",
border: "1px solid #09a1e2",
borderRadius: "5px",
color: "#09a1e2",
cursor: "pointer",
fontSize: "1.25rem",
padding: ".5rem 3.25rem .5rem 3.25rem",
textDecoration: 'none',
"&:hover": {
backgroundColor: "#ffffff",
color: "#09a1e2"
}
}
});
const PageNotFound = () => {
const classes = useStyles();
return (
<div className={classes.root}>
<MediumButton className={classes.homeButton} />
</div>
);
};
export default withContext(PageNotFound);
Я не уверен, чтоМне нужно позвонить, чтобы переопределить стили, которые я установил для моего компонента MediumButton.