问题描述
我是React Native的新手,我在React Native移动应用程序中有两个屏幕。屏幕1内置RN(Javascript),而其他屏幕2内置android本机代码(java)。应用必须从屏幕1导航到屏幕2,然后将一些上下文数据(在屏幕2上获取)返回到屏幕1。我已经从RN从屏幕1导航到本机代码再到屏幕2,但是现在我想从屏幕2导航到屏幕2。屏幕1上有一些数据。
尝试了此操作但遇到了事件,但需要重定向,以便提供任何帮助。 (java代码) 公共类MainActivity扩展了ReactActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
WritableMap map = Arguments.createMap();
map.putString("key1","Value1");
try {
getReactInstanceManager().getCurrentReactContext()
.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
.emit("customEventName",map);
} catch (Exception e){
Log.e("ReactNative","Caught Exception: " + e.getMessage());
}
}
RN代码: 从'react-native'导入{DeviceEventEmitter};
componentWillMount(){DeviceEventEmitter.addListener('customEventName',function(e: Event) {})};
解决方法
如果您想从新活动中获取一些数据(屏幕2),请使用startActivityForResult而不是startActivity并覆盖onResult方法。