标签: native-module

React Native NativeModules 空对象

尝试创建我的第一个 npm 模块以确定用户是否正在打电话。它适用于 React Native 应用程序。无论我尝试什么,模块都会返回未定义。NativeModules 始终显示为空对象。

请帮忙!下面是代码的链接。export default RNOnPhoneCall;inindex.js只会返回未定义。如何链接ios文件夹中的函数并将其导出到 中index.js?注意,android还不是最新的,只是ios

链接到 Github

react-native native-module

5
推荐指数
2
解决办法
5256
查看次数

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

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

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

public class MultipleCameraStreamModule extends ReactContextBaseJavaModule {

  private static final String CAMERA_FRONT = "SHORT";
  private static final String CAMERA_BACK = "LONG";

  public MultipleCameraStreamModule(ReactApplicationContext reactContext) {
    super(reactContext);
  }

  @Override
  public String getName() {
    return "MultipleCameraStream";
  }

  @Override
  public Map<String, Object> getConstants() {
    final Map<String, Object> constants = new HashMap<>();
    constants.put(CAMERA_FRONT, Toast.LENGTH_SHORT);
    constants.put(CAMERA_BACK, Toast.LENGTH_LONG);
    return constants;
  }

  @ReactMethod
  public void show(String message, int duration) {
    Toast.makeText(getReactApplicationContext(), message, duration).show();
  }
}
Run Code Online (Sandbox Code Playgroud)

然后,我的模块包装器:

public class …
Run Code Online (Sandbox Code Playgroud)

java android react-native native-module react-native-native-module

5
推荐指数
1
解决办法
4248
查看次数

React-Native:尝试与本机模块联系的错误

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

#import "CalendarManager.h"
#import <React/RCTLog.h>

@implementation CalendarManager

RCT_EXPORT_MODULE();

RCT_EXPORT_METHOD(addEvent: (NSString *)name location: (NSString *)location)
{

}
@end
Run Code Online (Sandbox Code Playgroud)

它给我RCT_EXPORT_METHOD中的编译错误

“预期的')'”

。和

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

ios react-native native-module

5
推荐指数
1
解决办法
108
查看次数

在 electron.js 或 node.js 应用程序中捕获 c++ 本机插件 cout/console 消息

C++ 本机模块的 std::cout 控制台消息不会在模块构建后打印在控制台上。

有什么方法可以在控制台上打印运行时 std::cout 消息,然后我们可以使用 node.js 在电子应用程序中捕获这些消息

node.js 如何运行本机模块,它是在与沙盒程序相同的线程上运行还是在不同的线程上运行?

javascript node.js electron native-module node-addon-api

5
推荐指数
1
解决办法
194
查看次数

如何从React Native组件中的Java模块返回数组?

我写这是为了回答我自己的问题,因为文档没有明确说明这一点,并且在堆栈溢出或其他任何地方都找不到它。这是将String数组从Java模块返回到React Native Component的方法(从我的个人项目中的代码简化)。

CPPConnection.java文件

public class CPPConnection extends ReactContextBaseJavaModule {
@ReactMethod
    public void GetDerivedUnits(String scheme,final Promise promise){
        try {

            List<String> returnSet = new ArrayList<String>();
            //Set first value so that there is a lead value
            returnSet.add("");
            returnSet.add(scheme);
            returnSet.add("lb");
            returnSet.add("kg");
            String[] returnArray = new String[returnSet.size()];
            returnArray = returnSet.toArray(returnArray);

            WritableArray promiseArray=Arguments.createArray();
            for(int i=0;i<returnArray.length;i++){
                promiseArray.pushString(returnArray[i]);
            }

            promise.resolve(promiseArray);
        }
        catch(Exception e){
            promise.reject(e);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Density.js文件

export default class Density extends Component{
...
constructor(props) {
    super(props);
    this.state = {
      mass: '',
      massUnits:[],
      volume: '',
      volumeUnits:[], …
Run Code Online (Sandbox Code Playgroud)

java android-studio react-native native-module

4
推荐指数
1
解决办法
1749
查看次数

如何解决测试中的 NativeModule.RNLocalize is null 错误?

我正在使用该包react-native-localize在应用程序中提供本地化。我已经链接了该库,它可以在设备上正常运行。

问题:

当我测试导入react-native-localize的组件时。我收到错误react-native-localize: NativeModule.RNLocalize is null。为了解决这个空错误,我jest.mock('react-native-localize');在测试文件的顶部调用。但我仍然收到指向NativeModule.RNLocalize is null. 我还提供了README 包中提到的模拟,但无济于事。

import 'react-native';
import React from 'react';
import App from '../App';
// Note: test renderer must be required after react-native.
import renderer from 'react-test-renderer';
import * as RNLocalize from 'react-native-localize';

 // mocking the module here with jest.mock
jest.mock('react-native-localize');

it('renders correctly', () => {
  renderer.create(<App />);
});
Run Code Online (Sandbox Code Playgroud)

题:

如何解决测试中的 NativeModule.RNLocalize is null 错误?

测试堆栈跟踪:

    FAIL  __tests__/App-test.js
  ? Test suite failed …
Run Code Online (Sandbox Code Playgroud)

jestjs react-native native-module react-native-localize

4
推荐指数
1
解决办法
3044
查看次数

如何在React Native中添加Native Bridge Android的默认值

我有一些服务需要通过用户输入或给定默认值重复启动,所以我需要添加参数来处理它,

我已经尝试过这个:

@ReactMethod
public void start(){
  start(1000);
}

@ReactMethod
public void start(int timer){
  Intent i = new Intent(reactContext, ServiceUploadData.class);
  i.putExtra("Interval", timer);
  reactContext.startService(i);
}
Run Code Online (Sandbox Code Playgroud)

但这些代码显示错误

开始有 0 个参数,预期有 1 个

有人可以帮助我吗?

android react-native native-module

2
推荐指数
1
解决办法
1511
查看次数

使用电子构建器为不同的操作系统构建原生模块

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

electron-builder --mac --linux --win --x64
Run Code Online (Sandbox Code Playgroud)

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

electron native-module electron-builder

1
推荐指数
1
解决办法
1061
查看次数