【发布时间】:2021-06-03 08:58:46
【问题描述】:
我有一个简单的测试 react-native 项目正在运行,我想在其中运行一些本机代码。我遵循了开发指南,在我的 android 项目中有一个 module 和一个 package 类,并将其链接到 MainApplication 文件中。它们看起来像这样:
包装:
public class ModulePackage implements ReactPackage {
@NonNull
@Override
public List<NativeModule> createNativeModules(@NonNull ReactApplicationContext reactContext) {
List<NativeModule> modules = new ArrayList<>();
modules.add(new ModuleModule(reactContext));
return modules;
}
@NonNull
@Override
public List<ViewManager> createViewManagers(@NonNull ReactApplicationContext reactContext) {
return Collections.emptyList();
}
}
模块:
@ReactModule(name = ModuleModule.NAME)
public class ModuleModule extends ReactContextBaseJavaModule {
public static final String NAME = "ModuleModule";
@ReactMethod
public String getData() {
return "AAAAAAAAAAAAAAAAA";
}
}
现在我在javascript中导入模块如下:
const { ModuleModule} = NativeModules;
我已经在行上设置了一个断点,在中断和跨过一次之后,模块被加载我进入控制台检查函数是否存在,所以我检查了ModuleModule,它返回了
Object {getData: Function, getConstants: Function}
所以这个函数显然就在那里,我只是从来没有得到我的预期返回值。有没有人遇到过这样的事情?
【问题讨论】:
标签: javascript typescript react-native react-native-android