extensible popup/context menu for react native
npm install react-native-popup-menuExtensible popup menu component for React Native for Android, iOS and (unofficially) UWP and react-native-web.
Features:
* Simple to use popup/context menu
* Multiple modes: animated, not animated, slide in from bottom or popover
* By default opening and closing animations
* Optional back button handling
* Easy styling
* Customizable on various levels - menu options, positioning, animations
* Can work as controlled as well as uncontrolled component
* Different lifecycle hooks
* RTL layout support
Community driven features:
* Support for UWP, react-native-web and react-native-desktop
* Typescript definitions
We thank our community for maintaining features that goes over our scope.
| Context Menu, Slide-in Menu | Popover |
|---|---|
|!Popup menu demo|!Popup menu demo|
```
npm install react-native-popup-menu --save
If you are using older RN versions check our compatibility table.
and then simply use Menu component where you need it. Below you can find a simple example.For more detailed documentation check API.
`js
// your entry point
import { MenuProvider } from 'react-native-popup-menu';export const App = () => (
);
// somewhere in your app
import {
Menu,
MenuOptions,
MenuOption,
MenuTrigger,
} from 'react-native-popup-menu';
export const YourComponent = () => (
Hello world!
Save)} text='Save' />
alert( Delete)} >
Delete
alert( Not called)} disabled={true} text='Disabled' />
);``- Examples
- API
- Extension points
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 |