Javascript 如何使用侧边栏材质ui React更改组件
我使用React,我是新手。我使用Drawer,但我不知道如何通过单击每个按钮来显示所需的组件。你可以在这里看到抽屉代码Javascript 如何使用侧边栏材质ui React更改组件,javascript,reactjs,material-ui,drawer,Javascript,Reactjs,Material Ui,Drawer,我使用React,我是新手。我使用Drawer,但我不知道如何通过单击每个按钮来显示所需的组件。你可以在这里看到抽屉代码 export default function MiniDrawer() { const classes = useStyles(); const theme = useTheme(); const [open, setOpen] = React.useState(true); const handleDrawerOpen = () => {
export default function MiniDrawer() {
const classes = useStyles();
const theme = useTheme();
const [open, setOpen] = React.useState(true);
const handleDrawerOpen = () => {
setOpen(true);
};
const handleDrawerClose = () => {
setOpen(false);
};
return (
<div className={classes.root}>
<CssBaseline />
<AppBar
position="fixed"
className={clsx(classes.appBar, {
[classes.appBarShift]: open
})}
>
<Toolbar>
<IconButton
color="inherit"
aria-label="open drawer"
onClick={handleDrawerOpen}
edge="start"
className={clsx(classes.menuButton, {
[classes.hide]: open
})}
>
<MenuIcon />
</IconButton>
<Typography variant="h6" noWrap>
Mini variant drawer
</Typography>
</Toolbar>
</AppBar>
<Drawer
variant="permanent"
className={clsx(classes.drawer, {
[classes.drawerOpen]: open,
[classes.drawerClose]: !open
})}
classes={{
paper: clsx({
[classes.drawerOpen]: open,
[classes.drawerClose]: !open
})
}}
>
<div className={classes.toolbar}>
<IconButton onClick={handleDrawerClose}>
{theme.direction === "rtl" ? (
<ChevronRightIcon />
) : (
<ChevronLeftIcon />
)}
</IconButton>
</div>
<Divider />
<List>
{routes.map((text, index) => (
<ListItem button key={text}>
<ListItemIcon>
{index % 2 === 0 ? <InboxIcon /> : <MailIcon />}
</ListItemIcon>
<ListItemText primary={text} />
</ListItem>
))}
</List>
<Divider />
</Drawer>
<main className={classes.content}>
<div className={classes.toolbar} />
</main>
</div>
);
}
导出默认函数miniprawer(){
const classes=useStyles();
const theme=useTheme();
const[open,setOpen]=React.useState(true);
常量handleDrawerOpen=()=>{
setOpen(真);
};
常量handleDrawerClose=()=>{
setOpen(假);
};
返回(
为了深入理解主题这回答了你的问题吗?这回答了你的问题吗?