GitPedia

React menu

React component for building accessible menu, dropdown, submenu, context menu, and more

From szhsin·Updated June 6, 2026·View on GitHub·

**react menu** is a React component for building accessible menu, dropdown, submenu, context menu, and more The project is written primarily in JavaScript, distributed under the MIT License license, first published in 2020. It has gained significant community traction with 1,220 stars and 59 forks on GitHub. Key topics include: accessibility, checkbox, contextmenu, dropdown, menu.

Latest release: v4.5.2
June 6, 2026View Changelog →

React-Menu

An accessible, keyboard-friendly React menu library

Live examples and docs

NPM
NPM
bundlephobia
Snyk Vulnerability Badge

Features

  • Lightweight, unstyled React menu components
  • Unlimited submenu nesting
  • Supports dropdown, hover, and context menus
  • Radio and checkbox menu items
  • Flexible positioning options
  • Full keyboard interaction support
  • Compatible with React 18+ concurrent rendering
  • Supports server-side rendering
  • Implements WAI-ARIA menu pattern

Install

with npm

bash
npm install @szhsin/react-menu

or with Yarn

bash
yarn add @szhsin/react-menu

Usage

jsx
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<br><br>
Visit more examples and docs<br><br>
FAQs<br><br>
Still on an old version? Please checkout our migration guides.

License

MIT Licensed.

Contributors

Showing top 12 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from szhsin/react-menu via the GitHub API.Last fetched: 6/14/2026