Joh*_*son 6 react-native native-module
我正在遵循ReactNative Native Module Guide来编写可在JS端使用的java类。导出的方法show来自类ToastModule(导出为ToastAndroid)。该show方法是如下:
public void show(String message, int duration) {
Toast.makeText(getReactApplicationContext(), message, duration).show();
}
Run Code Online (Sandbox Code Playgroud)
当我从Button onPress处理程序调用ToastAndroid.show时,将显示所有与toast按钮一起预期的工作。
import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
Text,
View,
Button,
NativeModules,
} from 'react-native';
const ToastAndroid = NativeModules.ToastAndroid
export default class App extends Component {
handleBTNPressed(){
ToastAndroid.show('Awesome', ToastAndroid.SHORT);
}
render() {
return (
<View style={styles.container}>
<Text style={styles.welcome}>
Welcome to React Native!!
</Text>
<Button title='click me' onPress={()=>this.handleBTNPressed()}/>
</View>
);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我进一步从
@ReactMethod
public void show(String message, int duration) {
Toast.makeText(getReactApplicationContext(), message, duration).show();
}
Run Code Online (Sandbox Code Playgroud)
至
@ReactMethod
public void showAgain(String message, int duration) {
Toast.makeText(getReactApplicationContext(), message, duration).show();
}
Run Code Online (Sandbox Code Playgroud)
我遇到以下错误:“未定义不是函数”
如果我添加新的导出方法,则再次显示此错误:
@ReactMethod
public void showAgain2(String message, int duration) {
String mes = "Hi " + message;
Toast.makeText(getReactApplicationContext(), message, duration).show();
}
Run Code Online (Sandbox Code Playgroud)
有谁知道我走错了哪一步?
编辑=========================
ToastAndroidReactNative中可能已经有一个,所以我将名称更改为MyToastExample。但是,现在错误变为以下
有人遇到同样的问题吗?
| 归档时间: |
|
| 查看次数: |
998 次 |
| 最近记录: |