С IconButton, обернутым в DialogTitle и с определенным классом в DialogTitle, у меня есть работоспособное решение:
<Drawer
variant="persistent"
anchor="right"
open={this.props.open}
>
<DialogTitle disableTypography className="drawerTitle">
<IconButton onClick={this.props.closeContextDrawer}>
<CancelIcon />
</IconButton>
</DialogTitle>
{sideList}
</Drawer>
, а css:
.drawerTitle {
display: flex;
justify-content: flex-end;
padding: 0 !important;
}
производит:

Обновление
Есть более приятный и понятный способ сделать это, по крайней мере, для левой стороны ивыдвижные ящикиВы можете использовать:
<div className={classes.drawerHeader}>
<IconButton onClick={closeDrawer}>
<ChevronLeftIcon />
</IconButton>
</div>
</Divider>
, который даст вам это:

CSS, который я использовал для заголовка::
const styles = theme => ({
drawerHeader: {
display: 'flex',
alignItems: 'center',
justifyContent: 'flex-end',
padding: '0 8px',
...theme.mixins.toolbar,
},
..
, так как добавление миксинов по умолчанию установит заголовок ящика на ту же высоту, что и панель инструментов в соответствующих точках останова.