null 不是对象(评估“RCTToastAndroid.SHORT”)
Posted
技术标签:
【中文标题】null 不是对象(评估“RCTToastAndroid.SHORT”)【英文标题】:null is not an object (evaluating 'RCTToastAndroid.SHORT') 【发布时间】:2019-09-23 02:03:37 【问题描述】:我正在尝试将我的 react-native 项目转换为 expo 项目,我遇到的一个小问题是当我运行 expo 项目时出现这样的错误
null is not an object (evaluating 'RCTToastandroid.SHORT')
在对如何解决此问题进行了一些在线研究后,用户请求可以通过删除RCTToastAndroid.SHORT
的Android
部分来解决此类问题,该用户表示RCTToast
普遍兼容两个ios和安卓。但是,当我这样做时,我收到一条错误消息 null is not an object (evaluating 'RCTToast.SHORT')
我能做些什么来帮助我从 react-native 项目轻松过渡到 expo 项目?
【问题讨论】:
您好,我遇到了类似的错误...但不是 RCTToastAndroid.SHORT,而只是 RCTToast.SHORT。完全错误是 => TypeError:null 不是对象(评估“RCTToast.SHORT”)。知道如何解决吗?注意:我的只有 RCTToast 而不是 RCTToastAndroid。 【参考方案1】:使用 create-react-native-app 创建的所有应用都无需更改即可与 Expo CLI 兼容。
参考链接:-https://github.com/react-community/create-react-native-app/blob/master/CHANGELOG.md#upgrading-from-1140-to-201
【讨论】:
我编辑了我的app.json
文件,使其可以被 expo 运行。这样就可以了,但是当我发布我的项目时,我遇到了一个新错误Unhandled JS Exception: null is not an object (evaluating 't.SHORT')
【参考方案2】:
只这样做
import ToastAndroidfrom 'react-native '
return ToastAndroid.show("some error msg", ToastAndroid.LONG);
【讨论】:
这不起作用,当我在 expo 中发布我的项目时,我收到错误Unhandled JS Exception: null is not an object (evaluating 't.SHORT')
你有什么建议吗?
在世博会上我与众不同,我的朋友,您可以在文档中找到它【参考方案3】:
我也遇到了同样的问题。
检查您是否已导入名为 'react-native-simple-toast' 的库。从您的依赖项中删除它。
根据this issue:
这个库有一个自定义的 ios 原生模块,expo 不支持。此库不适用于 expo
它只适用于裸 React Native 项目。
如果您确实需要使用 Toasts
Here's a library 将适用于 Android 和 iOS 上的 Expo。唯一的缺点是它是纯 javascript。
你可以这样使用它:
import Toast from 'react-native-root-toast'
Toast.show('Your message here',
duration: Toast.durations.SHORT,
position: Toast.positions.BOTTOM,
shadow: true,
animation: true
);
【讨论】:
以上是关于null 不是对象(评估“RCTToastAndroid.SHORT”)的主要内容,如果未能解决你的问题,请参考以下文章
TypeError:null 不是对象(评估'RNRandomBytes.seed')React Native
TypeError:null 不是对象(评估 ''this.state.torchon')
TypeError:null 不是对象(评估'this.state.initialPosition') - React Native
null 不是对象(评估“RCTToastAndroid.SHORT”)