问题标签 [react-native-modules]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
105 浏览

javascript - 如何在现有的原生应用程序中组合不同的反应原生包

我正在开发一个现有的原生应用程序,其中三个不同的合作伙伴公司正在使用三个不同的 react-native 模块。

这里的问题是当他们创建一个 javascript 包时,它也在每个包中包含 javascript 核心,这会增加本机应用程序的大小。

有谁知道处理这个问题的正确方法是什么?

0 投票
1 回答
646 浏览

android - 无法将 Android Native Module 添加到 React Native 项目

我有一个任务,我需要为 Android 设备的 React Native 项目添加一个 Native 功能。

我遵循了这个 [tutorial][1],它非常简单。但不幸的是,我仍然无法从 JS 层访问我的 Native 功能。

这是我的代码的样子。

SimpleTestModule.java

SimpleTestPackage.java

最后,这是我的MainApplication.java

这是我使用本机模块的 JS 文件:

添加所有内容后,我通过清理 Android 项目./gradlew clean并运行npm run android

几点注意事项:

  1. 我已经在我的 Package 类中添加了一个日志,只是为了查看它是否被执行。不幸的是,日志从未出现,所以我猜它没有被执行
  2. 当我运行时npm run android,编译成功,但.apk无法在设备上自动启动。这是否表明我的设置存在严重问题?

这是执行结束时的日志npm run android

  1. 当我通过在设备上运行 Android 应用程序Expo时,当应用程序启动时我有这样的日志:

` 错误:无法从 /Users/superyevhen/Documents/Work/Resources/releases/MakeupReactNativeSampleApp/ 解析模块 ./debugger-ui/debuggerWorker.aca173c4。:

此消息重复多次(实际上是 7 次),但应用程序正在运行。我仍然可以成功修改 JS 层并查看更改,但我的原生模块仍然不存在。这可能是问题的根本原因吗?

任何帮助,将不胜感激。我试图尽可能准确,但如果您需要任何其他信息来分享专业知识,请告诉我。提前致谢!

0 投票
1 回答
195 浏览

reactjs - 制作 React Native iOS Native Module 以使用 Garmin SDK

所以我试图在本机模块中实现 Garmin iOS SDK,以将 Garmin 手表连接到我的 react 本机应用程序。我已经完成了文档所说的创建本机模块的所有内容,并且能够初始化并开始扫描(这不会引发任何错误,并且会提示用户启用蓝牙,因此它肯定在做某事)。但是我必须实现的类的方法说 didScanDevice 没有被调用。再次,没有抛出任何错误。

我的问题是,本机模块是否存在一些问题,不允许我的实现 Garmin SDK 的类正确执行。

Native模块实现如下:

运行应用程序和调用的输出

是:

0 投票
2 回答
307 浏览

ios - 适用于 iOS 的 Swift NativeModule 始终为空

我正在使用 ReactNative 为 IOS 和 Android 构建一个移动应用程序。我还在使用 Swift 为 iOS 构建一个原生模块。但是当我从 JS 访问模块类时,它总是返回 null。

我使用以下代码创建了一个 WaterRowerBleManager.swift 文件。

它还创建了一个带有“.h”扩展名的桥头文件。我已按原样保留文件。

然后我使用以下代码创建了一个 WaterRowerBleManager.m 文件。

在 ReactNative 中,从 App.js 访问模块,如下所示。

NativeModules.WaterRowerBleManager 始终返回 null。我的代码有什么问题,我该如何解决?

0 投票
0 回答
40 浏览

java - React Native 与 RxJava 通信

我正在用 React Native 为移动支付终端构建一个应用程序。我正在使用PagSeguro SDK女巫是用 Java 构建的,Java 和 React 之间的连接是通过 Native Modules 建立的。

我已经完成了所有的付款流程,但是我需要告诉用户他处于流程的哪个步骤,为此我需要捕获 RxJava ObservableEmitter 事件,但是我找不到这样做的方法,任何人都可以给我一些指示?

这是Java代码:

在 JS 上我简单地调用付款方式:

0 投票
1 回答
192 浏览

swift - Swift中的RN模块无法获取参数

我正在实现自己的模块,但在将参数快速传递给函数时遇到问题。该函数应该返回 Promise。它总是因这个错误而崩溃

Exception 'getPassesOf: is not a recognized Objective-C method.' was thrown while invoking getPassesOf on target RNAppleWallet with params ( DDDDtest, 5026, 5027 )

我的 OC 桥:

重要的功能 getRemoteSecureElementPassesgetRemotePaymentPasses并且getPasses工作正常。但是他们没有额外的参数和功能getPassesOf与 pramateter 测试崩溃

RCT_EXTERN_METHOD(getPassesOf: (NSString *)test (RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)

这是 swift 函数中的一个实现,getPsses工作正常,但getPassesOf该参数有问题

有趣的是当我删除参数时test一切正常......但我需要它

这就是我在 RN 中调用它的方式,它getPasses可以正常getPassesOf工作:

更新:

我删除了返回类型-> Voidbud 没有任何改变仍然不起作用

前:

@objc func getPassesOf(_ test: String, resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) -> Void{

后:

@objc func getPassesOf(_ test: String, resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {

0 投票
0 回答
36 浏览

java - 在 Android 中将 HTML 或 XML 转换为图像(RN Native Modules)

我正在使用 React Native 为Smart POS构建应用程序,对于打印方法,我需要拍照并将其发送到打印机,实际上我正在使用RN ViewShot创建这张图片,但出于性能目的我我正在寻找将此功能更改为Native Modules,但我找不到使用 Java 创建图像的方法。我已经尝试过使用 Bitmap 和 WebView,但它似乎不适用于 React。

在简历中:我有一个 HTML 布局和其他 XML 布局,我需要使用本机模块将其中一个转换为图像,有没有办法做到这一点?

0 投票
0 回答
25 浏览

android - 无宽高渲染的 WebView

我正在使用 React Native 和Native Modules为Smart POS构建一个应用程序以使用 Java 本机功能,我需要将一张票的图片发送到打印机,我收到 HTML 代码中的票布局并需要将其转换为一个图像,为此,我在 Web 视图中呈现此 HTML 代码,然后使用画布打印到位图

问题:图像未正确渲染,宽度和高度始终等于 0

我对原生开发没有太多经验,所以我的代码有问题吗?

我的代码:

0 投票
0 回答
432 浏览

android - 大家好,如何在 React Native Home Button Pressed 上实现 PiP(画中画)视频?我无法在 React Native 中正确显示画中画视频

当我按下 android 主页按钮时,通过本机模块播放 pip 视频并传递视频 url 和视频的当前持续时间,并且本机模块接受该参数和意图给 Video Activity。在 Video Activity OnCreate 方法中,我尝试显示 PiP 视频。当我按下在反应本机图标上,画中画模式显示,但我无法返回反应本机视图。当我按下 Android 主页按钮时,画中画模式无法显示。

PiPModule.java

}

在 React-Native 组件中的使用

画中画活动

}

0 投票
0 回答
26 浏览

react-native - 为 iOS 创建一个原生模块

我想在我的应用程序中创建一个本机模块。我遵循了官方指南。我xcworksapce在 XCode 中打开了我的。我创建了一个名为的新文件夹modules,在其中我有另一个名为MyModule.

我有一个自定义头文件:

我有一个实现文件:

在我的JS文件中,我执行了以下操作:

当我调用test方法时,我收到一个错误,上面写着: