问题标签 [native-module]

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 投票
1 回答
9214 浏览

java - React Native:如何从模块调用原生 Android 布局?

关于这个问题,我一直在尝试通过 Android 中的本机模块来完成这项工作。

我已经按照React Native ToastModule.../java/com/myproject/multiplecamerastream的示例声明了我的模块(这里的功能并不重要):

然后,我的模块打包器:

我已经能够注册它并使其工作。但是,它只调用 Android 中的 Toast(不涉及布局)。

我想设置一个布局,所以当我调用<MultipleCameraStream />JSX 时,它会呈现一个原生 Android 布局,如下所示:

如何使该布局模块脚本(MultipleCameraStreamModule

谢谢你。

0 投票
1 回答
404 浏览

react-native - React Native - 包装在本机模块中创建的本机对象

我有兴趣将一些 C++ 库包装为 react-native 模块,但我遇到了一些概念墙。对这些东西很陌生,所以请多多包涵!

我想包装类似 Juce 的 AudioProcessorGraph 功能https://juce.com/doc/classAudioProcessorGraph_1_1AudioGraphIOProcessor

然而,api 的一个重要组成部分是将音频节点对象相互连接以形成音频处理图。你可以想象一些与网络音频 api 非常相似的东西:

在我写一行代码之前,我看到的问题是,我没有看到使用 RCT_EXPORT_METHOD 宏将本机对象的实例作为参数传递给另一个本机对象的方法调用的方法。https://nodejs.org/api/addons.html#addons_wrapping_c_objects我使用 ObjectWrap 功能对本机节点插件做了类似的事情。反正有没有用 react-native 完成类似的事情?

0 投票
1 回答
1766 浏览

android - 在 React-Native 中找不到 RCTConvert.h 文件

我想使用 FastImage 模块。(https://github.com/DylanVann/react-native-fast-image

但是当我构建它时它不起作用。

我做了 npm install & react-native 链接。

但是当我在 iOS 和 Android 中构建时,我遇到了一个错误。


RCTConvert+FFFastImage.h 中的 iOS 错误

未找到 RCTConvert.h' 文件


安卓错误。

错误:无法在项目的以下配置中进行选择:react-native-fast-image:-debugApiElements-debugRuntimeElements-releaseApiElements-releaseRuntimeElements所有这些都与消费者属性匹配:-配置'debugApiElements':-找到com.android.build.api .attributes.BuildTypeAttr 'debug' 但不是必需的。- 找到 com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' 但不是必需的。- 找到 com.android.build.gradle.internal.dependency.VariantAttr 'debug' 但不是必需的。- 找到 org.gradle.api.attributes.Usage 'java-api' 但不是必需的。- 配置 'debugRuntimeElements': - 找到 com.android.build.api.attributes.BuildTypeAttr 'debug' 但不是必需的。- 找到 com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' 但不是必需的。- 找到 com.android.build.gradle.internal.dependency.VariantAttr 'debug' 但不是必需的。- 找到 org.gradle.api.attributes.Usage 'java-runtime' 但不是必需的。- 配置 'releaseApiElements': - 找到 com.android.build.api.attributes.BuildTypeAttr 'release' 但不是必需的。- 找到 com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' 但不是必需的。- 找到 com.android.build.gradle.internal.dependency.VariantAttr 'release' 但不是必需的。- 找到 org.gradle.api.attributes.Usage 'java-api' 但不是必需的。- 配置 ' releaseRuntimeElements': - 找到 com.android.build.api.attributes.BuildTypeAttr 'release' 但不是必需的。- 找到 com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' 但不是必需的。- 找到 com.android.build.gradle.internal.dependency.VariantAttr 'release' 但不是必需的。- 找到 org.gradle.api.attributes.Usage 'java-runtime' 但不是必需的。

首先,我在stackoverflow中尝试了很好的答案。
React Native/Xcode 升级,现在没有找到 RCTConvert.h

但这对我不起作用。我在 github 的 FastImage 上创建了问题,但没有答案,所以我还不能关闭。(https://github.com/DylanVann/react-native-fast-image/issues/117

我需要帮助..

我的规格。

Xcode 版本。9.2 安卓工作室。3.0.1

0 投票
2 回答
10903 浏览

list - 反应原生 Wifi 列表

有没有办法使用 Android 和 iOS 的原生反应来扫描并获取 Wifi 列表。我见过一些库,但主要是针对 android 的,甚至那些也不能正常工作。有什么建议么?

如果我需要编写本机模块,您能否指出正确的方向。以前从未为 React Native 编写过原生模块。

0 投票
0 回答
117 浏览

c++ - SetUnhandledExceptionFilter in electron node native module disables crash reporter

I have a native node module running in an electron application and I want to log all unhandled exceptions so I use the following snippet:

The problem is that when I use SetUnhandledExceptionFilter electron crash reporting will not work anymore (I have it set up to send a log file to some server). I also tried all possible return values but none work.

What am I doing wrong ? and how to get this to work ?

Some more info:

0 投票
0 回答
982 浏览

react-native - 在 Android [Kotlin] 上的活动之间传递 React Native Promise

仅供参考:我是 Android 世界的新手。

我想做什么?

我正在为 React Native Android 使用本机模块。我正在使用本机承诺而不是回调来执行一些异步任务。简单易行。

详细地

我有一个名为“ReactNativeBridge”的本机模块,它有一堆标有标记的方法,@ReactMethod因此可以从 React Native 端访问它们。

如您所见,我想在这些方法中的每一个中启动一个新的 Android 活动,并通过 Intents 将Promise作为参数传递给这些活动。但我无法通过 Intent 传递承诺,因为并非所有数据类型都可以通过 Intent 传递。我检查了promise的类型,它是一个接口。

这就是Promise接口的外观,

在此处输入图像描述

我知道我们不能通过接口,因为它是一个抽象的东西(比如蓝图)。

** 如果您的答案是“将接口扩展为可序列化”,请记住我无法修改 Promise 接口。(这是Facebook的事情)

问题

  1. 如何通过 Intent 传递 Promise 类型?
  2. 还有其他方法可以通过 Promise 吗?除了意图。
0 投票
2 回答
1239 浏览

ios - 我在 JS 中看不到任何 iOS 原生模块

我对 React 有一些经验,但我是 React Native 的新手。我已经玩了一段时间,但是当我尝试为 iOS 编写一个基本的本机模块时,我被卡住了。我已经尝试过使用 Swift 和 Objective C。(我对 Swift 有一些基本的经验,但是 Objective C 对我来说是全新的)

一些上下文:

  1. 该项目是用react-native-cli 2.0.1
  2. 我用XCode 9.1

这是 .swift 类

这是桥接文件

和 Project-Brigding-Header.h

我的 App.js 文件

这是问题所在。console.log() 的输出显示 NativeModules 是一个空对象:

我不明白我做错了什么。我已经阅读了几乎所有我能找到的仅与该主题相关的内容,但我看不出我做错了什么。如果您有任何建议,请告诉我。谢谢!

0 投票
0 回答
62 浏览

objective-c - React Native:获取本机模块大小

用视图容器包裹原生模块后,如何在RN中设置视图容器的大小,使得原生模块不会被RN中的视图容器边界切割?

另外,是否可以根据objective-c/swift中的子视图设置父视图大小?

0 投票
1 回答
1187 浏览

electron - 使用电子生成器为不同的操作系统构建本机模块

我正在使用electronand创建一个应用程序nodejs,当我尝试electron-builder使用以下命令构建它时:

它仅为我当前的操作系统构建本机模块。有没有办法为所有操作系统构建原生模块?

0 投票
1 回答
208 浏览

ios - React-Native:在教程中尝试与本机模块取得联系时出错

从https://facebook.github.io/react-native/docs/native-modules-ios.html中的教程定义本机模块时遇到问题。

它给了我 RCT_EXPORT_METHOD 中的编译错误说

“预期的 ')'”

. 和

'缺少类型说明符,默认为 int'(后来也出现在 RCT_EXPORT_MODULE 下)