将项目添加到Android React Native Developer菜单

时间:2016-02-05 03:26:50

标签: android react-native

在React Native中进行开发构建时,您可以摇动设备或使用菜单按钮调出开发人员菜单。如何在此菜单中添加其他自定义项?我还没有找到任何关于添加其他项目的文档,但我认为从开发菜单中说服务器环境(dev,prod等)之间切换非常方便,而不是针对每个环境进行单独的构建测试。

2 个答案:

答案 0 :(得分:2)

DevSupportManager课程可以为您完成此操作。您可以通过ReactNativeHost

ReactInstanceManager实例中获取
ReactInstanceManager reactInstanceManager = reactNativeHost.getReactInstanceManager();
DevSupportManager devSupportManager = reactInstanceManager.getDevSupportManager();

随着这一点,添加自定义开发选项,如下所示:

devSupportManager.addCustomDevOption("Custom dev option", new DevOptionHandler() {
    @Override
    public void onOptionSelected() {
        Toast.makeText(MainActivity.this, "Hello from custom dev option", Toast.LENGTH_SHORT).show();
    }
});

您首先掌握ReactNativeHost个实例的位置取决于您构建应用的方式。如果您使用react-native init创建了应用,那么您的主应用类将包含以下内容:

@Override
public ReactNativeHost getReactNativeHost() {
    return mReactNativeHost;
}

...你可以打电话。

I have a complete sample here;看看MainActivity。OnCreate:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    MainApplication application = (MainApplication) getApplication();
    ReactNativeHost reactNativeHost = application.getReactNativeHost();
    ReactInstanceManager reactInstanceManager = reactNativeHost.getReactInstanceManager();
    DevSupportManager devSupportManager = reactInstanceManager.getDevSupportManager();
    devSupportManager.addCustomDevOption("Custom dev option", new DevOptionHandler() {
        @Override
        public void onOptionSelected() {
            Toast.makeText(MainActivity.this, "Hello from custom dev option", Toast.LENGTH_SHORT).show();
        }
    });
}

答案 1 :(得分:0)

您可以使用 DevSettings addMenuItem 函数在 React Native 开发者菜单中添加项目

在您的主要 App.js 组件中,写入

import { DevSettings } from 'react-native';

//...

useEffect(() => {
    // componentDidMount

    // Add our toggle command to the menu
    DevSettings.addMenuItem('Toggle Storybook', () => {
        // Perform your logic here
    });
}, []);