如何处理 Material UI 抽屉从 React 功能组件中的单个 button/icon 打开和关闭?
How to handle Material UI Drawer open and close from a single button/icon in React Functional Component?
我想通过中的一个按钮来处理MaterialUI抽屉打开和关闭 =18=]React 功能组件。
const handleDrawerOpen = () => {
setOpen(true);
};
const handleDrawerClose = () => {
setOpen(false);
};
<IconButton
color="inherit"
aria-label="open drawer"
onClick= ****
edge="start"
className={clsx(classes.menuButton)}
>
<MenuIcon />
</IconButton>
根据现有状态切换怎么样?
const handleDrawerToggle = () => { setOpen(!open);}
你只需像这样添加一个功能切换按钮:
const toggleButton = () => {
setOpen(preState => !preState);
}
onClick ={toggleButton}
如果你使用的是钩子,那么你只需要在你的组件函数中添加usage of useState
hook:
const [isDropDownOnen, setDropDownOnen] = useState(false);
const handleDrawerClick = () => {
setDropDownOnen(!isDropDownOnen);
};
return (<IconButton
color="inherit"
aria-label="open drawer"
onClick={handleDrawerClick}
edge="start"
className={clsx(classes.menuButton)}
>
<MenuIcon />
</IconButton>);
您甚至不需要单独的处理程序,您可以内联完成:
<IconButton
color="inherit"
aria-label="open drawer"
onClick= {()=> setOpen(!open)}
edge="start"
className={classes.menuButton}
>
<MenuIcon />
</IconButton>
如果处理程序变得复杂,那么我会把它提取到一个函数中,以保持代码更整洁和更易于阅读。
我想通过中的一个按钮来处理MaterialUI抽屉打开和关闭 =18=]React 功能组件。
const handleDrawerOpen = () => {
setOpen(true);
};
const handleDrawerClose = () => {
setOpen(false);
};
<IconButton
color="inherit"
aria-label="open drawer"
onClick= ****
edge="start"
className={clsx(classes.menuButton)}
>
<MenuIcon />
</IconButton>
根据现有状态切换怎么样?
const handleDrawerToggle = () => { setOpen(!open);}
你只需像这样添加一个功能切换按钮:
const toggleButton = () => {
setOpen(preState => !preState);
}
onClick ={toggleButton}
如果你使用的是钩子,那么你只需要在你的组件函数中添加usage of useState
hook:
const [isDropDownOnen, setDropDownOnen] = useState(false);
const handleDrawerClick = () => {
setDropDownOnen(!isDropDownOnen);
};
return (<IconButton
color="inherit"
aria-label="open drawer"
onClick={handleDrawerClick}
edge="start"
className={clsx(classes.menuButton)}
>
<MenuIcon />
</IconButton>);
您甚至不需要单独的处理程序,您可以内联完成:
<IconButton
color="inherit"
aria-label="open drawer"
onClick= {()=> setOpen(!open)}
edge="start"
className={classes.menuButton}
>
<MenuIcon />
</IconButton>
如果处理程序变得复杂,那么我会把它提取到一个函数中,以保持代码更整洁和更易于阅读。