0
votes

Comment réinitialiser l'état à NULL si l'entrée est vide?

J'ai des entrées avec un état défini sur NULL et lorsque l'utilisateur final représente quelque chose et supprimez tout, l'entrée est revenue à une chaîne vide. Comment puis-je définir l'état pour revenir à null ? J'ai un problème avec la déclaration IF ci-dessous qui ne fonctionne pas lorsque l'utilisateur supprime toute sa phrase. L'état est "" au lieu de null

merci pour votre aide xxx


2 commentaires

Votre deuxième instruction SSTATE est toujours exécutée car elle n'est pas contenue dans une condition d'autre


Merci c'était le problème


3 Réponses :


1
votes

Parce qu'après votre instruction IF, cette ligne sera exécutée

this.setState({ [name]: { ...this.state[name], [country]: e.target.value } });


0 commentaires

0
votes

Veuillez faire la méthode onchange xxx

lorsque la valeur de pays VALEUR String Enregistrez-le sur NULL


1 commentaires

Merci beaucoup qui a fonctionné. Oui j'ai oublié l'état de l'autre ... merci



1
votes

Comme @stefan a déjà dit que votre deuxième instruction SetState est exécutée après le premier si.

Pour raccourcir votre code et que cela fonctionne correctement, vous pouvez utiliser quelque chose selon ces lignes: P>

onChange = (e, name, country) => {
this.setState({ [name]: { ...this.state[name], [country]: e.target.value ? this.target.value : null } }); 


1 commentaires

Merci beaucoup qui était le problème !! Merci