Как исправить ошибку тоста на родной базе, неопределенная не является объектом (вычисление ‘this.toastInstance._root’)

#react-native #react-redux #native-base

#react-native #реагировать-переопределять #native-base

Вопрос:

Я использую nativebase ( "native-base": "^2.12.1" ) в проекте react-native. Я собираюсь использовать show toast для метода в классе компонента react

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

Но я получаю ошибку при вызове этого метода:

неопределенный не является объектом (вычисление ‘this.toastInstance. _root._root’)

Я думаю, что это не проблема с версией на родной базе, я использую последнюю версию. Заранее спасибо.

Ответ №1:

Чтобы Toast работал, вам нужно обернуть ваш самый верхний компонент внутрь <Root> из native-base.

Ответ №2:

 import Root from "native-base";
  

импортируйте Root из собственной базы и оберните весь контейнер / представление внутри функции возврата рендеринга

 render() {
    return (<Root>your app-return function code</Root>);}
  

Ответ №3:

Импортируйте корневой компонент из native-base и оберните в него все приложение. Это сработало для меня после нескольких дней поиска решения. Интересно, почему это не было указано в документах

Ответ №4:

импортируйте ROOT и import ROOT from 'native-base' перенесите в <Root>{YOUR FUNCTION}</Root>