La verdad me gustaría que me explicaran y aclaren más a fondo sobre el código implementado en la clase de Harland
const [errors, setErrors] = useState({
name: {
error: false,
message: 'Deben ser al menos 3 caracteres',
},
})
function validarNombre(nombre) {
if(nombre.length >= 3){
return {name: {error: false, message: '', },}
}else{
return {name: {error: true, message: 'Deben ser al menos 3 caracteres',},}
}
}
// Código restante
<TextField id="name" label="Nombre" variant="outlined" fullWidth={true} margin="normal" onChange={(e) => { /*console.log(e.target.value);*/ setName(e.target.value); }} value={name} error={errors.name.error} helperText={errors.name.error ? errors.name.message : ''} onBlur={(e) => {setErrors(validarNombre(e.target.value))}} />
Cuando se le hace Blur veo que funciona la parte del error, pero no logro entender como es que funciona el código, también en las condicionales de la función validarNombre se retorna el objeto de usestate de errors seterrors, eso no es como reutilizar código? o es que en el usestate se le están valores por defecto?