Actualización usando e.target.name
import { Component } from "react";
// Declaramos una clase con las funcionalidades de un componente en React. class Calculadora extends Component{ // Establecemos el constructor de la clase que recibirá los props. // PRIMER PASO DEL CICLO DE VIDA: Se declara y recibe todo lo que se necesitará en el componente. constructor(props){ // Para definir valores super(props) // Para poder ingresar al state y actualizar el objeto cada que el usuario modifique. this.state = { numero1: 0, numero2: 0 } /* Dentro del constructor indicamos que el método será igual a la función pero con un bind, para lo reconozca al método y se pueda ejecutar.*/ this.setNumber = this.setNumber.bind(this); }
setNumber(e){
this.setState({
...this.state,
[e.target.name] : e.target.value
})
console.log(e.target);
}
// Definimos un método llamado render.
// SEGUNDO PASO DEL CICLO DE VIDA: Se renderiza el componente.
render(){
return(
<>
<span>¡Hola mundo desde una clase!</span>
<h1> { this.props.nombre } </h1> {/* Mostramos la propiedad 'nombre' mandada en el componente */}
<form>
<input type="number" name="numero1" value={ this.state.numero1 }
onChange={ this.setNumber }
/>
<input type="number" name="numero2" value={ this.state.numero2 }
onChange={ this.setNumber }
/>
</form>
<span>Resultado: { Number(this.state.numero1) + Number(this.state.numero2) }</span>
</>
);
}
// TERCER PASO DEL CICLO DE VIDA
componentDidMount(){
// Podemos hacer lo que queramos, asegurándonos que el componente ya ha sido montado en el DOM.
}
// CUARTO PASO DEL CICLO DE VIDA
componentWillUnmount(){
// El componente se desmonta del DOM, hacemos lo que queramos antes que esto suceda.
}
}
// Importamos el componente de clase. export default Calculadora;
