Jestem nowy w React JavaScript. Próbuję wyłączyć przycisk, gdy pole wejściowe jest puste. Jakie jest najlepsze podejście w Reakcie do tego?
Robię coś takiego:
<input ref="email"/>
<button disabled={!this.refs.email}>Let me in</button>
Czy to jest poprawne?
To nie tylko powielanie atrybutu dynamicznego, ponieważ jestem również ciekawy przenoszenia / sprawdzania danych z jednego elementu do drugiego.
Odpowiedzi:
Będziesz musiał zachować bieżącą wartość wejścia w stanie (lub przekazać zmiany jego wartości do rodzica za pomocą funkcji wywołania zwrotnego lub na bok , lub <rozwiązanie do zarządzania stanem aplikacji tutaj> tak, aby ostatecznie zostało przekazane z powrotem do komponent jako rekwizyt), dzięki czemu można uzyskać wyłączoną właściwość dla przycisku.
Przykład z użyciem stanu:
źródło
disabled
samo dołączenie do elementu oznacza, że element ma zostać wyłączony. To nie jest bool. Zobacz to: developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement/…Stosowanie stałych pozwala łączyć wiele pól do weryfikacji:
źródło
Innym sposobem sprawdzenia jest wbudowanie funkcji, tak aby warunek był sprawdzany przy każdym renderowaniu (przy każdej zmianie właściwości i stanu)
To działa:
ale to nie zadziała:
źródło
to proste, załóżmy, że utworzyłeś pełną klasę stanu, rozszerzając Component, który zawiera następujący
źródło