笛里谁知壮士心,沙头空照征人骨。这篇文章主要讲述在React Native中创建android本机模块时,“undefined不是函数”相关的知识,希望能为你提供帮助。
我正在关注ReactNative Native Module Guide编写可以在JS方面使用的java类。导出的方法是来自show
类的ToastModule
(导出为Toastandroid
)。 show
方法如下:
public void show(String message, int duration) {
Toast.makeText(getReactApplicationContext(), message, duration).show();
}
当我从Button onPress处理程序调用ToastAndroid.show时,所有按预期的工作都会出现。
import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
Text,
View,
Button,
NativeModules,
} from 'react-native';
const ToastAndroid = NativeModules.ToastAndroidexport 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>
);
}
}
但是,当我进一步更改函数名称时
@ReactMethod
public void show(String message, int duration) {
Toast.makeText(getReactApplicationContext(), message, duration).show();
}
至
@ReactMethod
public void showAgain(String message, int duration) {
Toast.makeText(getReactApplicationContext(), message, duration).show();
}
我遇到以下错误:“undefined不是函数”
文章图片
如果我添加新的导出方法,则会再次显示此错误,如下所示:
@ReactMethod
public void showAgain2(String message, int duration) {
String mes = "Hi " + message;
Toast.makeText(getReactApplicationContext(), message, duration).show();
}
有没有人知道我走错了哪一步?
编辑==========================
在React Native中可能已经存在qazxsw poi,我是否将名称更改为qazxsw poi。但是,现在错误变成了以下内容
ToastAndroid
有没有人遇到同样的问题?
答案在
MyToastExample
,检查你是否导入了正确的文章图片
,因为ReactNative也有一个名为this step的类。
检查
ToastModule
中是否存在此行ToastModule
另一答案 Try using
import com.facebook.react.modules.toast.ToastModule;
instead of *ReactPackage.java
.在我的情况下,我正在使用:
import
我得到了
require
错误。但是,改为:
var Contacts = require( "react-native-unified-contacts" );
为我解决了这个问题。
【在React Native中创建android本机模块时,“undefined不是函数”】显然,
undefined is not function
和import Contacts from "react-native-unified-contacts";
对模块的处理方式不同。推荐阅读
- BasicNetwork.performRequest(意外响应代码401 android Volley库)
- 在从Golang Buffalo webapp发送推文时设置CSRF令牌时遇到问题
- 如何在Android应用程序中一次更改所有活动转换()
- UX研究技术及其应用
- UX研究方法和用户共鸣之路
- 想想S.M.A.R.T.在为下一个UX项目定义业务目标时
- UX产品组合技巧和最佳实践
- 改变是好是坏( UX创新指南)
- 言语至关重要– UX复制的真正价值