Eu pensei nessa maneira de alterar os erros no objeto de erros. Não sei se é a melhor maneira mas está funcionando e não foi muito dificil de implementar
const [erros, setErros] = useState({cpf:{valido:true, texto:""},
nome:{valido:true, texto:""}});
//Esta função está no TextField do CPF
onBlur={() => {
let ehValido = validarCPF(cpf);
let {cpf:tmpCpf, ...restante} = erros;
tmpCpf = ehValido;
const newErros = {cpf:tmpCpf, ...restante};
setErros(newErros);
}}
// E esta no TextField do nome
onBlur={() => {
const ehValido = validarNome(nome);
let {nome:tmpNome, ...restante} = erros;
tmpNome = ehValido;
const newErros = {nome:tmpNome, ...restante};
setErros(newErros);
}}
Eu criei o validarNome No App.js onde fica o outro validador, e esta retorna o erro se o primeiro caractere da string Nome for minusculo.
O que acham? O que eu poderia melhorar?