null不是对象(评估'RCTToastAndroid.SHORT')

时间:2019-09-23 02:03:37

标签: android ios react-native expo

我正在尝试将我的react-native项目转换为EXPO项目,我遇到的一个小问题是运行EXPO项目时出现这样的错误

null is not an object (evaluating 'RCTToastAndroid.SHORT')

在线研究了如何解决此问题后,一位用户要求可以通过删除Android的{​​{1}}部分来解决此类问题,该用户表示RCTToastAndroid.SHORT与iOS和Android通用兼容。但是,当我这样做时,我收到一条错误消息,RCTToast

该怎么做才能帮助简化从我的本机项目到博览会项目的过渡?

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

只能这样做

import {ToastAndroid}from 'react-native '
return ToastAndroid.show("some error msg", ToastAndroid.LONG);

答案 2 :(得分:0)

我遇到了同样的问题。

检查您是否导入了一个名为 '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
});