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

React native 如何创建本机模块的多个实例?,react-native,React Native,我正在尝试创建一个本机模块,该模块启动一个请求并检索数据以将其传回JavaScript。(上下文:DFP自定义呈现-) 我很难理解为什么我只能创建本机模块的一个实例。只有一个实例对我来说不起作用,因为如果多个JS组件同时使用该模块,那么每个组件都可以从本机模块获取自己的数据,它们将覆盖本机模块属性,并且将为使用本机模块的所有JS组件触发来自本机代码的回调 这就是我从JavaScript调用本机模块的方式: const RNDFPNativeAds=NativeModules.RNDFPNati

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

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

这就是我从JavaScript调用本机模块的方式:

const RNDFPNativeAds=NativeModules.RNDFPNativeAds;

因此,每次我将这个变量导入组件时,它都是被调用的本机模块的同一个实例

如果能做这样的事情来解决我的问题,那就太好了:

const rndfpnativeead_Number1=新的NativeModules.rndfpnativeeads();
const rndfpnativeead_Number2=新的NativeModules.rndfpnativeeads();


要了解更多关于我的问题的内容,这里是用于iOS的本机代码的要点:

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

为什么本机模块用于显示?我的意思是他想做非可视化的东西,所以这就像一个本地工作线程。我们不使用本地模块来显示。我不理解您的评论对不起,请您详细说明一下好吗?对不起,我正在阅读
,但我们对这种方法不太满意,因为本机组件用于显示
语句,并且认为您想声明react本机模块仅用于渲染。但你可以将它们用于所有目的。我的阅读错误。@MartinMlostek没问题:)我想这是因为本机模块和本机组件之间的混淆。顺便问一下,你说的像本机工作线程一样的
是什么意思?@ou2s当我使用这个NativeModules.SomeNativeClass调用SomeNativeClass中的方法时,它总是一个新实例。因此,我无法解除视图控制器。你对此有什么想法吗?