Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Duda] element.target.value

  const manageOnChange = (hola) => {
    const value= hola.target.value;
    console.log(value)
  }

  const stepsFlow = {
    0: {
      inputs: [
        {
          label: "Correo electrónico",
          value: "",
          type: "email",
          valid: null,
          helperText: "Ingrese un correo electrónico válido",
          onChange: manageOnChange,
          validator: emailValidation,
        },
        {
          label: "Contraseña",
          value: "",
          type: "password",
          valid: null,
          helperText: "Ingrese una credencial de entre 8 y 20 caractéres",
          onChange: manageOnChange,
          validator: passwordValidation,
        }

      ],
      buttonText: "Siguiente",
      onSubmit
    }
  }

como pueden ver yo puse "hola" en vez de "element" se que el profesor eligio ese nombre para tener mas logica a la hora de nombrar el evento recibido, sin embargo, como sabe JS que hola se refiere al evento

1 respuesta

Hola Melany,

Siempre cuando pasamos una función como propiedad de un evento, sea onClick, onChange, etc, JavaScript siempre pasara como primero argumento de tu función el elemento en que se ocurrió el evento, y como podemos dar cualquier nombre a un argumento de una función, este elemento que pasó JavaScript será encontrado usando el nombre del primero argumento de tu función, que en tu caso fue "hola".

Es parecido con que hiciéramos manualmente lo siguiente:

const elemento1 = <div>Hola mundo</div>

  const manageOnChange = (hola) => {
    const value= hola.target.value;
    console.log(value)
  }
  
  manageOnChange(elemento1);