import React from 'react'; import Button from '@material-ui/core/Button'; import ClickAwayListener from '@material-ui/core/ClickAwayListener'; import Grow from '@material-ui/core/Grow'; import Paper from '@material-ui/core/Paper'; import Popper from '@material-ui/core/Popper'; import MenuItem from '@material-ui/core/MenuItem'; import MenuList from '@material-ui/core/MenuList'; import { makeStyles, createStyles, Theme } from '@material-ui/core/styles'; const useStyles = makeStyles((theme: Theme) => createStyles({ root: { display: 'flex', }, paper: { marginRight: theme.spacing(2), }, }), ); export default function MenuListComposition() { const classes = useStyles(); const [open, setOpen] = React.useState(false); const anchorRef = React.useRef(null); const handleToggle = () => { setOpen((prevOpen) => !prevOpen); }; const handleClose = (event: React.MouseEvent) => { if (anchorRef.current && anchorRef.current.contains(event.target as HTMLElement)) { return; } setOpen(false); }; function handleListKeyDown(event: React.KeyboardEvent) { if (event.key === 'Tab') { event.preventDefault(); setOpen(false); } } // return focus to the button when we transitioned from !open -> open const prevOpen = React.useRef(open); React.useEffect(() => { if (prevOpen.current === true && open === false) { anchorRef.current!.focus(); } prevOpen.current = open; }, [open]); return (
Profile My account Logout
{({ TransitionProps, placement }) => ( Profile My account Logout )}
); }