Ich bin neu bei React.js. Tut mir leid, wenn die Frage für Sie zu dumm klingt.
Ich versuche, eine Schaltfläche zu deaktivieren, wenn ein Eingabefeld leer ist. Was ist der beste Ansatz in React dafür?
Ich mache so etwas wie das Folgende:
<input ref="email"/>
<button disabled={!this.refs.email}>Let me in</button>
Ist das richtig?
Es ist nicht nur eine Verdoppelung des dynamischen Attributs, sondern ich bin auch neugierig darauf, die Daten von einem Element auf ein anderes zu übertragen / zu überprüfen.
Antworten:
Sie müssen den aktuellen Wert der Eingabe im Status halten (oder Änderungen ihres Werts über eine Rückruffunktion oder seitwärts oder <die Statusverwaltungslösung Ihrer App hier> an ein übergeordnetes Element übergeben , damit er schließlich wieder übergeben wird Ihre Komponente als Requisite), damit Sie die deaktivierte Requisite für die Schaltfläche ableiten können.
Beispiel mit state:
quelle
disabled
durch einfaches Anhängen an ein Element das Element deaktiviert werden soll. Es ist kein Trottel. Siehe dies: developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement/…Durch die Verwendung von Konstanten können mehrere Felder zur Überprüfung kombiniert werden:
quelle
Eine andere Möglichkeit zur Überprüfung besteht darin, die Funktion so zu integrieren, dass die Bedingung bei jedem Rendern (bei jeder Requisite und jeder Statusänderung) überprüft wird.
Das funktioniert:
aber das wird nicht funktionieren:
quelle
Nehmen wir einfach an, Sie haben eine vollständige Statusklasse erstellt, indem Sie die Komponente erweitern, die Folgendes enthält
quelle