一个 React-Native Android 的项目,启动之后是一个用 js 写的登录页面(login.js),然后我会跳转到一个 android 原生的页面(NativeActivity.java),然后我现在希望从这个原生的页面跳转到另一个 js 的页面(other.js)。
我现在的做法是给 other.js 做了一个原生的容器 OtherActivity.java,部分代码是这样的:
public class OtherActivity extends AppCompatActivity implements DefaultHardwareBackBtnHandler {
private ReactRootView mReactRootView;
private ReactInstanceManager mReactInstanceManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mReactRootView = new ReactRootView(this);
mReactInstanceManager = ReactInstanceManager.builder()
.setApplication(getApplication())
.setCurrentActivity(this)
.setBundleAssetName("index.android.bundle")
.setJSMainModulePath("index")
.addPackage(new MainReactPackage())
.setUseDeveloperSupport(BuildConfig.DEBUG)
.setInitialLifecycleState(LifecycleState.RESUMED)
.build();
mReactRootView.startReactApplication(mReactInstanceManager, "other", null);
setContentView(mReactRootView);
}
」
然后在 NativeActivity.java 中我使用以下方法跳转:
Intent i = new Intent(NativeActivity.this, OtherActivity.class);
startActivity(i);
在 index.js 中,我在原有基础上追加了一行代码:
AppRegistry.registerComponent('other', () => Other)
但是这样没办法从 NativeActivity.java 跳转到 other.js,我查了一下有人用
ReactActivityDelegate#getLaunchOptions
的方法实现从原生页跳转 rn 页的时候,通过传递不同的参数来实现 react-native 渲染不同的组件,但是没有什么思路,请问如何实现这部分跳转呢