Executando verificação de segurança...
1
Carregando publicação patrocinada...
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
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>