jss-plugin-extend
не включен по умолчанию в Material-UI.
Список включенных плагинов JSS можно найти здесь: https://material -ui.com / styles / advanced / # jss-plugins .
Вы можете следовать инструкциям по добавлению дополнительных плагинов, но вы также можете добиться того же эффекта другими способами.
Вы можете поместить общие свойства в объект:
const commonButton = {
display: "none",
position: "absolute",
fontSize: "24px"
};
export default props => ({
ButtonLeft: {
...commonButton,
left: "0",
},
ButtonRight: {
...commonButton,
right: "0",
}
});
Или, поскольку у вас есть правило root
, что кнопки находятся внутри, вы можете применить все распространенные стили с помощью вложенных правил в root
:
export default props => ({
root: {
width: "250px",
height: "182px",
alignItems: "center",
justifyContent: "space-between",
border: "1px solid black",
position: "relative",
"& $ButtonLeft, & $ButtonRight": {
display: "none",
position: "absolute",
fontSize: "24px"
},
"&:hover $ButtonLeft, &:hover $ButtonRight": {
display: "block"
}
},
ButtonLeft: { left: "0" },
ButtonRight: { right: "0" }
});
В приведенном выше примере используется jss-plugin-nested
, которое равно , включенному в Material-UI по умолчанию.Здесь также показан соответствующий синтаксис для ссылок hover
.
Ответы по теме: