0
votes

Je peux consoler Connectez mon état, mais je reçois toujours "Impossible de lire les données" de la propriété "de non définies". Pourquoi?

i a essayé de rendre un morceau de texte si le statut de mon utilisateur est vrai. xxx

Cependant, je reçois l'erreur ne peut pas lire les "données" de la propriété indéfinies

La chose étrange est que, si j'étant omis le morceau de Code ci-dessus, je peux consoler Connectez mon USERStatus et dit "vrai". xxx

Qu'est-ce qui se passe?


2 commentaires

Avez-vous initialisé votre état dans le constructeur?


Obtenez-vous résultat.data correctement? Pouvez-vous s'il vous plaît vérifier si les données existent dans la hiérarchie correcte, c'est-à-dire.data. Et oui s'il vous plaît vérifier, ceci.setstate ({utilisateur: résultat.data}, () => {console.log ("état in composantdidmount?", Cela.state.userstatus.data)}); Pour cela, vérifiez la 1ère réponse!


4 Réponses :


0
votes

state.userstatus est indéfini jusqu'à ce que l'appel renvoie.


0 commentaires

1
votes

Étendez votre condition à

{this.state.userStatus && this.state.userStatus.data == "true" && <div><p>aasdasdasdasdsdasd</p></div>}


0 commentaires

0
votes

Essayez d'initialiser votre état

constructor(props) {
            super(props);
            this.state = {userStatus: {}};
        }


0 commentaires

0
votes

Au premier essai de vérifier la valeur de l'état à l'aide de console.log (this.state.userstatus) et montre quelle valeur la valeur et montrez-la est mise à jour et non et ne vérifiez pas si ce fichier. State.Userstatus si trouvé. Le chèque la ceci .state.userstatus.data == "true" Qui est correct si IT noot a trouvé la condition FAUX, il ne montrera pas le texte car vous n'êtes pas utilisé et fonctionnez la première condition non true, alors ne pas afficher le texte


0 commentaires