¿Cómo puedo dividir mi código en dos partes sin escribir el mismo código dos veces?
El código que se muestra a continuación está compuesto por “dos partes”:
- El lugar donde se definen todos los estados y manejadores,
- La parte del código que se muestra en la pantalla.
Considero que el código quizás es demasiado grande para un solo archivo. Mi pregunta es: ¿cómo puedo dividir el código dado en dos?
Por ejemplo, un archivo contiene la primera parte (de arriba) y el otro contiene la segunda parte (también de arriba).
“`import { useState } from “react”;
import './style.css';
export default function UserInput() {
const [person,setPerson] = useState({firstName:'',age:''});
const [people,setPeople] = useState([]);
const handleChange = (e) => {
const name = e.target.name;
const value = e.target.value;
setPerson({…person, [name]: value});
}
const handleSubmit = (e) => {
e.preventDefault();
if(person.firstName && person.age){
const newPerson = {…person,id: new Date().getDate().toString()}
setPeople([…people,newPerson]);
setPerson({firstName:'',age:''});
}
else{
console.log('¡Campo vacío!');
}
}
const handleDelete = () => {
setPeople([]);
setPerson({firstName:'',age:''});
}
return(
<>
<form classname='container' autocomplete="off">
<div>
<label htmlfor='firstName' classname='label'>Nombre: </label>
<input type='text' classname='input' id='firstName' name='firstName' value="{person.firstName}" onchange="{handleChange}/"> <br>
<label htmlfor='age' classname='label'>Edad: </label>
<input type='text' classname='input-age' id='age' name='age' value="{person.age}" onchange="{handleChange}/"> <br>
<button classname='btn' type='submit' onclick="{handleSubmit}">Agregar</button>
<button classname='btn' type='button' onclick="{handleDelete}">Limpiar</button>
</div>
</form>
<pre><code> {
people.map((person)=>{
return(
<div classname='list' key="{person.id}">
{person.firstName}, {person.age}
</div>
)
})
}
</code></pre>
);
}“`
davy.ai
Para dividir el código proporcionado en dos archivos, podemos separar la sección de estado y controladores de la sección JSX.
Ahora hemos separado los estados y controladores de la parte del código que se muestra en la pantalla. Esto resultará en un código más organizado y legible.