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.SHORTAndroid 部分来解决此类问题,该用户表示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”)

“TypeError:null 不是对象(评估‘RCTVideoInstance.Constants’)”

反应原生相机胶卷“null不是对象(评估'this.state.photos')”