我安装了react-native-installed-packages
。它开箱即用。但是我想通过添加一些我可以在JS中使用的额外方法来修改它。这就是我所做的。
从上图中可以看出,我添加了一个新的公共方法,但每当我尝试从JS调用它时,我都会收到以下错误
undefined is not a function (evaluating 'InstalledApps.removeApp(myappPackageID)')
修改1
这就是我在JS中使用它的方式
首先我要导入模块
var InstalledApps = require('react-native-installed-packages');
然后我正在调用这个函数
let val = InstalledApps.removeApp(myappPackageID);
我的RNInstalledAppsPackage看起来像这样
修改2
package com.reactlibrary;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import com.facebook.react.ReactPackage;
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.uimanager.ViewManager;
import com.facebook.react.bridge.JavaScriptModule;
public class RNInstalledAppsPackage implements ReactPackage {
@Override
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
return Arrays.<NativeModule>asList(new RNInstalledAppsModule(reactContext));
}
@Override
public List<Class<? extends JavaScriptModule>> createJSModules() {
return Collections.emptyList();
}
@Override
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
return Collections.emptyList();
}
}
你能告诉我这里做错了什么吗?感谢
答案 0 :(得分:1)
在JS界面中添加您的方法并尝试重建。 JS接口文件是&#34; rn-installed-apps / index.js&#34;。 这是网址: https://github.com/jstokes/rn-installed-apps/blob/master/index.js