0
votes

Réagir de TextInput natif passe la valeur à l'état

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 xxx

Comment puis-je mettre à jour mon identifiant et mon état de passe simultanément?


0 commentaires

4 Réponses :


0
votes

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 this.setstate comme: xxx

espère que cela fonctionne pour vous.


0 commentaires

1
votes

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 } })}


0 commentaires

1
votes

Vous définissez l'utilisateur à une seule valeur à la fois. C'est-à-dire: xxx

devrait être: xxx


0 commentaires

0
votes

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 
    } 
  })
}


0 commentaires