Eu sou novo em React JavaScript. Estou tentando desativar um botão quando um campo de entrada está vazio. Qual é a melhor abordagem do React para isso?
Estou fazendo algo como o seguinte:
<input ref="email"/>
<button disabled={!this.refs.email}>Let me in</button>
Isso está correto?
Não se trata apenas da duplicação de atributo dinâmico, porque também tenho curiosidade em transferir / verificar os dados de um elemento para outro.
Respostas:
Você precisará manter o valor atual da entrada em estado (ou passar alterações em seu valor até um pai por meio de uma função de retorno de chamada , ou lateralmente , ou <solução de gerenciamento de estado do seu aplicativo aqui> , de forma que, eventualmente, seja repassada para o pai seu componente como suporte) para que você possa derivar o suporte desativado para o botão.
Exemplo usando o estado:
fonte
disabled
, apenas sendo anexado a um elemento, significa que o elemento deve ser desativado. Não é um bool. Veja isto: developer.mozilla.org/pt-BR/docs/Web/API/HTMLSelectElement/…O uso de constantes permite combinar vários campos para verificação:
fonte
Outra maneira de verificar é alinhar a função, para que a condição seja verificada em cada renderização (todos os adereços e alterações de estado)
Isso funciona:
mas isso não vai funcionar:
fonte
é simples, vamos supor que você tenha criado uma classe completa de estado estendendo o Component que contém os seguintes
fonte