mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Export the DevSettings module, add addMenuItem method (#25848)
Summary: I wanted to configure the RN dev menu without having to write native code. This is pretty useful in a greenfield app since it avoids having to write a custom native module for both platforms (and might enable the feature for expo too). This ended up a bit more involved than planned since callbacks can only be called once. I needed to convert the `DevSettings` module to a `NativeEventEmitter` and use events when buttons are clicked. This means creating a JS wrapper for it. Currently it does not export all methods, they can be added in follow ups as needed. ## Changelog [General] [Added] - Export the DevSettings module, add `addMenuItem` method Pull Request resolved: https://github.com/facebook/react-native/pull/25848 Test Plan: Tested in an app using the following code. ```js if (__DEV__) { DevSettings.addMenuItem('Show Dev Screen', () => { dispatchNavigationAction( NavigationActions.navigate({ routeName: 'dev', }), ); }); } ``` Added an example in RN tester  Differential Revision: D17394916 Pulled By: cpojer fbshipit-source-id: f9d2c548b09821c594189d1436a27b97cf5a5737
This commit is contained in:
committed by
Facebook Github Bot
parent
15343863b0
commit
cc068b0551
+3
@@ -52,4 +52,7 @@ public class ReactSettingsForTests implements DeveloperSettings {
|
||||
public boolean isStartSamplingProfilerOnInit() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addMenuItem(String title) {}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user