如何解决Nativebase Toast错误未定义不是对象(评估'this.toastInstance._root')

时间:2019-03-19 12:07:38

标签: react-native react-redux native-base

我在react-native项目中使用nativebase("native-base": "^2.12.1")。 我将在react组件类的方法上使用show toast

assignTicket(id) {
    return Toast.show({
        text: "Wrong password!",
        buttonText: "Okay",
        duration: 3000,
        type: "success"
    });   
}

但是在调用此方法时出现错误:

  

未定义不是对象(正在评估'this.toastInstance._root')

我认为这不是nativebase版本问题,我使用的是最新版本。 预先感谢。

5 个答案:

答案 0 :(得分:3)

从本机库中导入Root组件,然后将整个应用包装在其中。经过数日寻找解决方案后,这对我有用。想知道为什么在文档中没有说明

答案 1 :(得分:2)

<Button
      android:layout_height="@dimen/_50sdp"

从本机基础导入Root并将整个容器/视图包装在render的return函数中

import Root from "native-base";

答案 2 :(得分:0)

要使Toast正常工作,您需要将本机最顶层的组件包装在<Root>中。

答案 3 :(得分:0)

只需从代码中删除退货

答案 4 :(得分:0)

导入ROOT并将import ROOT from 'native-base' 包装到<Root>{YOUR FUNCTION}</Root>