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