Je suis nouveau sur React. J'essaye de désactiver un bouton lorsqu'un champ de saisie est vide. Quelle est la meilleure approche dans React pour cela?
Je fais quelque chose comme ceci:
<input ref="email"/>
<button disabled={!this.refs.email}>Let me in</button>
Est-ce correct?
Ce n'est pas seulement la duplication de l'attribut dynamique, car je suis également curieux de transférer / vérifier les données d'un élément à un autre.
Réponses:
Vous devrez conserver la valeur actuelle de l'entrée dans l'état (ou transmettre les modifications de sa valeur à un parent via une fonction de rappel , ou sur le côté , ou <la solution de gestion de l'état de votre application ici>> de sorte qu'elle soit éventuellement renvoyée dans votre composant comme accessoire) afin que vous puissiez dériver l'accessoire désactivé pour le bouton.
Exemple d'utilisation de l'état:
la source
disabled
, en étant simplement attaché à un élément, cela signifie que l'élément doit être désactivé. Ce n'est pas un idiot. Voir ceci: developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement/…L'utilisation de constantes permet de combiner plusieurs champs pour la vérification:
la source
Une autre façon de vérifier consiste à intégrer la fonction, de sorte que la condition soit vérifiée à chaque rendu (chaque accessoire et changement d'état)
Cela marche:
mais cela ne fonctionnera pas:
la source
c'est simple, supposons que vous avez créé une classe complète d'état en étendant le composant qui contient les éléments suivants
la source