zoontek / react-native-dev-menu

Add custom items to the React Native dev menu.
MIT License
204 stars 25 forks source link
android ios react-native

⚠️ This package is deprecated in favor of DevSettings


📳 react-native-dev-menu

mit licence npm version npm downloads
platform - android platform - ios

Add custom items to the React Native dev menu.
The native part of this module is a variation of react-native-async-storage-dev-menu-item.

Support

Version React Native Support
4.0.0+ 0.61.0+

Setup

$ npm install --save react-native-dev-menu
# --- or ---
$ yarn add react-native-dev-menu

Don't forget to run pod install after that !

🆘  Manual linking

Because this package targets React Native 0.61.0+, you will probably don't need to link it manually. Otherwise if it's not the case, follow this additional instructions:

👀 See manual linking instructions ### iOS Add this line to your `ios/Podfile` file, then run `pod install`. ```bash target 'YourAwesomeProject' do # … pod 'RNDevMenu', :path => '../node_modules/react-native-dev-menu' end ``` ### Android 1. Add the following lines to `android/settings.gradle`: ```gradle include ':react-native-dev-menu' project(':react-native-dev-menu').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-dev-menu/android') ``` 2. Add the implementation line to the dependencies in `android/app/build.gradle`: ```gradle dependencies { // ... implementation project(':react-native-dev-menu') } ``` 3. Add the import and link the package in `MainApplication.java`: ```java import com.zoontek.rndevmenu.RNDevMenuPackage; // <- add the RNDevMenuPackage import public class MainApplication extends Application implements ReactApplication { // … @Override protected List getPackages() { @SuppressWarnings("UnnecessaryLocalVariable") List packages = new PackageList(this).getPackages(); // … packages.add(new RNDevMenuPackage()); return packages; } // … } ```

Usage

import DevMenu from "react-native-dev-menu";

if (__DEV__) {
  DevMenu.addItem("Say Hello", () => alert("Hello!"));
}