Je suis nouveau dans le réact de Native et a eu un problème avec TextInput et il ne met pas à jour l'état entier. Il stocke une seule valeur: une entrée de connexion ou une entrée de mot de passe
J'ai créé la page de connexion avec la connexion et le mot de passe Textiput. Voici mon code mon état et textinput p> Comment puis-je mettre à jour mon identifiant et mon état de passe simultanément? P> p>
4 Réponses :
C'est parce que vous ne maintenez pas l'état. Vous devez maintenir l'état. Ce que vous faites ici, vous perdez les données précédemment définies dans l'état lors de l'appelant sur espère que cela fonctionne pour vous. p> p> this.setstate code> comme:
Vous remplacez votre objet utilisateur, vous devez conserver tout ce qui est déjà sur votre objet utilisateur et simplement mettre à jour la propriété correcte:
onChangeText={login => this.setState({ user: { ...this.state.user, login } })}
onChangeText={password => this.setState({ password: { ...this.state.user, password } })}
Vous définissez l'utilisateur à une seule valeur à la fois. C'est-à-dire: devrait être: p>
Bien que tout le monde vous donne la bonne réponse, je voudrais expliquer davantage pourquoi votre code ne fonctionnera pas:
Voici votre état utilisateur: P>
onChangeText={
password => this.setState({
password: {
...this.state.user,
password
}
})
}