¿Por qué un método declarado dentro de un evento sintético recibe el "event" implícito como parámetro?
Hola Beto, cuando asignas el evento cambiarNombre en el onChange este recibe por defecto un parámetro e que hace referencia al objeto del evento sintético.
// Parámetro "e" está implícito
updateField(e) {
this.setState({
name: e.target.value
})
}
...
<input
type="text"
onChange={ this.updateField } // No se pasa parámetro explícitamente
/>
...
He refactorizado el método para actualizar cualquier input pasando como parámetros el nombre del campo y el valor.
Lo que pasa es que cuando paso parámetros explícitamente React retorna error (no reconoce el e.target.value), ¿No debería el e estar implícito tal como la premisa anterior?
// Método refactorizado
updateField(name, value) {
let field = {}
field[name] = value
this.setState(field)
}
...
<input
type="text"
onChange={ this.updateField('full_name', e.target.value) } // React retorna error, no reconoce la variable "e"
/>
...