如何创建本机模块的多个实例?

时间:2017-11-29 13:48:47

标签: react-native

我正在尝试创建一个启动请求并检索数据以将其传回JavaScript的本机模块。 (上下文:DFP自定义呈现Android Doc - iOS Doc

我无法理解为什么我只能创建一个Native Module实例。只有一个实例对我不起作用,因为如果模块由多个JS组件同时使用,那么每个组件都可以从Native Module获取自己的数据,它们将覆盖Native Module属性,并且将触发本机代码的回调对于使用本机模块的所有JS组件。

我是如何通过JavaScript调用本机模块的: const RNDFPNativeAds = NativeModules.RNDFPNativeAds;

因此,每次将此变量导入组件时,它都与调用的本机模块的实例相同。

能够做这样的事情来解决我的问题会很棒: const RNDFPNativeAd_Number1 = new NativeModules.RNDFPNativeAds(); const RNDFPNativeAd_Number2 = new NativeModules.RNDFPNativeAds();

要了解有关我的问题的更多上下文,以下是iOS使用的本机代码的要点:iOS Native code

1 个答案:

答案 0 :(得分:1)

目前你不能使用React Native(版本0.50)。我们最终做了一个处理所有请求的实例。您可以通过使用不会呈现任何视图的本机组件来绕过单实例限制,但我们对此方法不满意,因为使用本机组件进行显示。