React component for building accessible menu, dropdown, submenu, context menu, and more
See the codeAn accessible, keyboard-friendly React menu library
with npm
npm install @szhsin/react-menu
or with Yarn
yarn add @szhsin/react-menu
import { Menu, MenuItem, MenuButton, SubMenu } from '@szhsin/react-menu';
export default function App() {
return (
<Menu menuButton={<MenuButton>Open menu</MenuButton>}>
<MenuItem>New File</MenuItem>
<MenuItem>Save</MenuItem>
<SubMenu label="Edit">
<MenuItem>Cut</MenuItem>
<MenuItem>Copy</MenuItem>
<MenuItem>Paste</MenuItem>
</SubMenu>
<MenuItem>Print...</MenuItem>
</Menu>
);
}
Edit on CodeSandbox
Visit more examples and docs
FAQs
Still on an old version? Please checkout our migration guides.
MIT Licensed.
Overall
Maintained
Code review
Latest release
Releases this year
588 followers · starred Aug 2021
3,347 followers · starred Aug 2024
433 followers · starred Oct 2020
171 followers · starred Apr 2025
React component for building accessible menu, dropdown, submenu, context menu, and more
See the codeAn accessible, keyboard-friendly React menu library
with npm
npm install @szhsin/react-menu
or with Yarn
yarn add @szhsin/react-menu
import { Menu, MenuItem, MenuButton, SubMenu } from '@szhsin/react-menu';
export default function App() {
return (
<Menu menuButton={<MenuButton>Open menu</MenuButton>}>
<MenuItem>New File</MenuItem>
<MenuItem>Save</MenuItem>
<SubMenu label="Edit">
<MenuItem>Cut</MenuItem>
<MenuItem>Copy</MenuItem>
<MenuItem>Paste</MenuItem>
</SubMenu>
<MenuItem>Print...</MenuItem>
</Menu>
);
}
Edit on CodeSandbox
Visit more examples and docs
FAQs
Still on an old version? Please checkout our migration guides.
MIT Licensed.
Overall
Maintained
Code review
Latest release
Releases this year
588 followers · starred Aug 2021
3,347 followers · starred Aug 2024
433 followers · starred Oct 2020
171 followers · starred Apr 2025