4
votes

Comment corriger l'erreur de toast nativebase non définie n'est pas un objet (évaluation de 'this.toastInstance._root')

J'utilise nativebase ( "native-base": "^ 2.12.1" ) dans le projet react-native. Je vais utiliser show toast sur la méthode dans la classe de composant react

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

Mais j'obtiens une erreur en appelant cette méthode:

undefinded n'est pas un objet (évaluation de 'this.toastInstance._root')

Je pense que ce n'est pas un problème de version nativebase, j'utilise la dernière version. Merci d'avance.


0 commentaires

4 Réponses :


9
votes

Pour que Toast fonctionne, vous devez envelopper votre composant le plus haut dans de native-base.


0 commentaires

3
votes

Importez le composant Root à partir de la base native et enveloppez-y toute l'application. Cela a fonctionné pour moi après des jours de recherche de solution. Je me demande pourquoi cela n'a pas été indiqué dans la documentation


0 commentaires

0
votes

importez ROOT et importez ROOT depuis 'native-base' puis encapsulez le dans {VOTRE FONCTION}


0 commentaires

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

0 commentaires