我正在尝试创建一个正在启动请求并检索数据以将其传递给JavaScript的本机模块。(上下文:DFP自定义渲染Android Doc -ios Doc)
我很难理解为什么我只能创建本机模块的一个实例。只有一个实例对我不起作用,因为如果多个JS组件同时使用该模块,以便每个组件可以从本机模块中获取自己的数据,则它们将覆盖本机模块属性,并且来自本机代码的回调将被触发对于使用本机模块的所有JS组件。
这就是我从JavaScript称为本机模块的方式:
const RNDFPNativeAds = NativeModules.RNDFPNativeAds;
因此,每当我将此变量导入组件时,它是本机模块的相同实例。
能够做到这样的事情来解决我的问题是很棒的:
const RNDFPNativeAd_Number1 = new NativeModules.RNDFPNativeAds();
const RNDFPNativeAd_Number2 = new NativeModules.RNDFPNativeAds();
要在我的问题上有更多上下文,以下是用于iOS的本机代码的要点:iOS本机代码
您目前无法使用React Native(0.50版)。我们最终做了一个处理所有请求的实例。您可以使用不会呈现任何视图的本机组件绕过单个实例限制,但是我们对此方法不满意,因为本机组件用于显示。