我正在尝试学习如何编写反应原生模块,并且我遇到了这个错误:
以下是我的代码:
public class RNGifMakerModule extends ReactContextBaseJavaModule {
private final ReactApplicationContext reactContext;
public RNGifMakerModule(ReactApplicationContext reactContext) {
super(reactContext);
this.reactContext = reactContext;
}
@Override
public String getName() {
return "RNGifMaker";
}
@ReactMethod
public void alert(String message) {
Toast.makeText(getReactApplicationContext(), message, Toast.LENGTH_LONG).show();
}
}
import { RNGifMaker } from 'GifMaker';
const onButtonPress = () => {
RNGifMaker.alert('Hello World');
};
"dependencies": {
"react": "16.0.0-alpha.6",
"react-native": "0.43.3",
"GifMaker":"file:../"
},
import { NativeModules } from 'react-native';
module.exports = NativeModules.RNGifMaker;
我同时运行npm install
和react-native link
。
我(大部分时间)都跟着this tutorial。
答案 0 :(得分:2)
我明白了!在Module.java
我回到了错误的班级。
当时:
public String getName() {
return "RNGifMaker";
}
应该是:
public String getName() {
return "RNGifMakerModule";
}