pq nao usar state juntamente com a propriedade disabled ?
Em resposta a REACTJS: QUAL A MELHOR ABORDAGEM?
1
1
Porque além de desabilitar, eu quero alterar o estilo dele através da classe.
1
então você pode usar um state do tipo Boolean para manipular se o botão está ativo ou não e para mudar a class basta usar o mesmo state utilizando um ternary operator ficaria assim:
const [isDisabled, setIsDisabled] = useState(true);
// ...
<button disabled={isDisabled} className={isDisabled? "submitButton": "active"}>
Enviar
</button>
não vejo necessidade pra manipular virtual Dom ou ficar mexendo diretamente no componente.
1
mas você pode fazer isso também!
Nao tem o porquê de manipular diretamente a DOM. Use o que o React lhe fornece
1
Não tenho certeza da sua questão, porem tu talvez possa criar um state com hasFile
ou algo semelhante e usar assim:
const [hasFile, setHasFile] = useState(false);
...
function handleChangeFile() {
setHasFile(true);
enableButton();
}
...
<button className={hasFile ? "active" : "submitButton"} disabled={!hasFile}>Enviar</button>