Extensible popup menu component for React Native for Android, iOS and (unofficially) UWP and react-native-web.
Features:
Community driven features:
We thank our community for maintaining features that goes over our scope.
| Context Menu, Slide-in Menu | Popover |
|---|---|
![]() | ![]() |
npm install react-native-popup-menu --save
If you are using older RN versions check our compatibility table.
Wrap your application inside MenuProvider and then simply use Menu component where you need it. Below you can find a simple example.
For more detailed documentation check API.
// your entry point
import { MenuProvider } from 'react-native-popup-menu';
export const App = () => (
<MenuProvider>
<YourApp />
</MenuProvider>
);
// somewhere in your app
import {
Menu,
MenuOptions,
MenuOption,
MenuTrigger,
} from 'react-native-popup-menu';
export const YourComponent = () => (
<View>
<Text>Hello world!</Text>
<Menu>
<MenuTrigger text='Select action' />
<MenuOptions>
<MenuOption onSelect={() => alert(`Save`)} text='Save' />
<MenuOption onSelect={() => alert(`Delete`)} >
<Text style={{color: 'red'}}>Delete</Text>
</MenuOption>
<MenuOption onSelect={() => alert(`Not called`)} disabled={true} text='Disabled' />
</MenuOptions>
</Menu>
</View>
);
Contributions are welcome! Just open an issues with any idea or pull-request if it is no-brainer. Make sure all tests and linting rules pass.
We keep compatibility on best effort basis.
First table describes what minimal version of RN (or React) is needed to use version of popup menu.
| popup-menu version | min RN (React) version |
|---|---|
| 0.13 | 0.55 (16.3.1) |
| 0.9 | 0.40 |
| 0.8 | 0.38 |
| 0.7 | 0.18 |
Second is other way round - which minimal version of popup-menu is required to work well with RN (or React version)
| RN (React) version | popup-menu version |
|---|---|
| 0.81+ (SafeAreaView depecation, see #301) | 0.19 |
| 0.78 (19.0) | 0.18 |
Overall
Maintained
Code review
Latest release
Releases this year
367 followers · starred Apr 2018
7 followers · starred May 2021
102 followers · starred Mar 2023
51 followers · starred Sep 2018
Extensible popup menu component for React Native for Android, iOS and (unofficially) UWP and react-native-web.
Features:
Community driven features:
We thank our community for maintaining features that goes over our scope.
| Context Menu, Slide-in Menu | Popover |
|---|---|
![]() | ![]() |
npm install react-native-popup-menu --save
If you are using older RN versions check our compatibility table.
Wrap your application inside MenuProvider and then simply use Menu component where you need it. Below you can find a simple example.
For more detailed documentation check API.
// your entry point
import { MenuProvider } from 'react-native-popup-menu';
export const App = () => (
<MenuProvider>
<YourApp />
</MenuProvider>
);
// somewhere in your app
import {
Menu,
MenuOptions,
MenuOption,
MenuTrigger,
} from 'react-native-popup-menu';
export const YourComponent = () => (
<View>
<Text>Hello world!</Text>
<Menu>
<MenuTrigger text='Select action' />
<MenuOptions>
<MenuOption onSelect={() => alert(`Save`)} text='Save' />
<MenuOption onSelect={() => alert(`Delete`)} >
<Text style={{color: 'red'}}>Delete</Text>
</MenuOption>
<MenuOption onSelect={() => alert(`Not called`)} disabled={true} text='Disabled' />
</MenuOptions>
</Menu>
</View>
);
Contributions are welcome! Just open an issues with any idea or pull-request if it is no-brainer. Make sure all tests and linting rules pass.
We keep compatibility on best effort basis.
First table describes what minimal version of RN (or React) is needed to use version of popup menu.
| popup-menu version | min RN (React) version |
|---|---|
| 0.13 | 0.55 (16.3.1) |
| 0.9 | 0.40 |
| 0.8 | 0.38 |
| 0.7 | 0.18 |
Second is other way round - which minimal version of popup-menu is required to work well with RN (or React version)
| RN (React) version | popup-menu version |
|---|---|
| 0.81+ (SafeAreaView depecation, see #301) | 0.19 |
| 0.78 (19.0) | 0.18 |
Overall
Maintained
Code review
Latest release
Releases this year
367 followers · starred Apr 2018
7 followers · starred May 2021
102 followers · starred Mar 2023
51 followers · starred Sep 2018