编辑:(5 月 21 日)- Material UI V4.11.1
这可以在版本 4.11.1 和功能组件中以不同的方式完成。
不再需要使用 HoC。以下是它的完成方式:
您应该使用 makeStyles 帮助器创建带有类定义的钩子,并使用该钩子将它们拉出。
const useStyles = makeStyles({
list: {
width: 250
},
fullList: {
width: "auto"
},
paper: {
background: "blue"
}
});
const DrawerWrapper = () => {
const classes = useStyles();
return (
<Drawer
classes={{ paper: classes.paper }}
open={isOpen}
onClose={() => setIsOpen(false)}
>
<div
tabIndex={0}
role="button"
onClick={() => setIsOpen(true)}
classes={{ root: classes.root }}
>
{sideList}
</div>
</Drawer>
)
}
这是一个有效的sandbox
编辑:(1 月 19 日)- Material UI V3.8.3
至于询问的最新版本,配置backgroundColor 的方法是覆盖类。
基于 material-ui 文档 here 和抽屉的 css api here - 这可以通过创建以下形式的对象来完成:
const styles = {
paper: {
background: "blue"
}
}
并将其传递给 Drawer 组件:
<Drawer
classes={{ paper: classes.paper }}
open={this.state.left}
onClose={this.toggleDrawer("left", false)}
>
可以在thiscodesandbox 中看到一个工作示例。
不要忘记用 material-ui 的 withStyles HoC 包装你的组件,正如提到的 here
根据您使用的道具,我有理由认为您使用的版本低于v1.3.1(最后一个稳定版本),但对于您接下来要问的问题,我建议您编写该版本你正在使用。
对于低于V1 的版本,您可以像这样更改containerStyle 属性:
<Drawer open={true} containerStyle={{backgroundColor: 'black'}}/>