UNPKG

materialuiupgraded

Version:

Material-UI's workspace package

43 lines (38 loc) 1.35 kB
import React from 'react'; import Button from '@material-ui/core/Button'; import Menu from '@material-ui/core/Menu'; import MenuItem from '@material-ui/core/MenuItem'; import toRenderProps from 'recompose/toRenderProps'; import withState from 'recompose/withState'; const WithState = toRenderProps(withState('anchorEl', 'updateAnchorEl', null)); function RenderPropsMenu() { return ( <WithState> {({ anchorEl, updateAnchorEl }) => { const open = Boolean(anchorEl); const handleClose = () => { updateAnchorEl(null); }; return ( <React.Fragment> <Button aria-owns={open ? 'render-props-menu' : null} aria-haspopup="true" onClick={event => { updateAnchorEl(event.currentTarget); }} > Open Menu </Button> <Menu id="render-props-menu" anchorEl={anchorEl} open={open} onClose={handleClose}> <MenuItem onClick={handleClose}>Profile</MenuItem> <MenuItem onClick={handleClose}>My account</MenuItem> <MenuItem onClick={handleClose}>Logout</MenuItem> </Menu> </React.Fragment> ); }} </WithState> ); } export default RenderPropsMenu;