在我工作的地方,我们试图以一种不太标准的方式使用本机响应。我们不希望将其用于视图,而只是将其用于运行Java代码的功能,从而允许我们使用Java,Swift / Objective-c,在js和Android iOS和Web的前端中创建所有业务逻辑,和Javascript。
我们正在iOS中执行以下操作:
NSURL *bundleURL = ...;
RCTBridgeModuleProviderBlock block = nil;
NSDictionary *launchOptions = nil;
RCTBridge *bridge = [[RCTBridge alloc] initWithBundleURL:bundleURL moduleProvider:block launchOptions:nil];
我们的iOS开发人员能够创建RCTBridge,然后将其用于与Objective-C中的JS代码进行通信。他正计划在应用程序的生命周期中保持一座桥梁。我在Android / Java上找不到类似的东西。我确实使ReactInstanceManager如下工作:
mReactInstanceManager = ReactInstanceManager.builder()
.setApplication(getApplication())
.setBundleAssetName("index.android.bundle")
.setJSMainModuleName("index.android")
.addPackage(new MainReactPackage())
.addPackage( searchPackage )
.setUseDeveloperSupport( BuildConfig.DEBUG )
.setInitialLifecycleState( LifecycleState.RESUMED)
.build();
mReactInstanceManager.createReactContextInBackground();
使用ReactInstanceManager进行连接的烦人之处在于,它需要一些生命周期回调,这使其与特定活动相关联。我想做iOS正在做的事情,并创建一个桥梁,并在多个不同的活动中为整个应用保留该实例。
那么,iOS中是否存在类似于RCTBridge的内容?如果不是,那是为什么我不应该在多个活动中共享同一个reactInstanceManager吗?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句