RN项目有一个主控制类ReactNativeHost,
当需要实现接口ReactApplication或者继承ReactActivityDelegate类的时候(以及其他需要用到ReactNativeHost的场景),就可以得到一个ReactNativeHost实例,
ReactNativeHost实例下有一个ReactInstanceManager的实例,
ReactInstanceManager实例有一个DevSupportManager实例,
我们就可以通过DevSupportManager实例的addCustomDevOption(String optionName, DevOptionHandler optionHandler)方法添加更多的debug菜单项,
optionName是菜单显示的文案,
optionHandler是点击事件的回调,可以添加响应处理。
具体添加办法是,在写一个ReactNativeHost匿名内部类或者ReactNativeHost的继承类的时候重写createReactInstanceManager()方法,返回ReactInstanceManager实例之前调用ReactInstanceManager的getDevSupportManager().addCustomDevOption(String optionName, DevOptionHandler optionHandler)方法添加新条目。
样例代码如下:
@Override
protected ReactInstanceManager createReactInstanceManager() {
ReactInstanceManager manager =super.createReactInstanceManager();
manager.getDevSupportManager().addCustomDevOption("条目名1",new DevOptionHandler() {
@Override
public void onOptionSelected() {
//添加响应操作
}
});
manager.getDevSupportManager().addCustomDevOption("条目名2",new DevOptionHandler() {
@Override
public void onOptionSelected() {
//添加响应操作
}
});
return manager;
}
};
谢谢阅览!