LISTA DE TAREA
Lista de Tareas en React
Voy a crear un ejemplo muy básico de una lista de tareas en React que cumpla con:
Un campo de entrada para añadir tareas
Un botón para agregar la tarea
Una lista que muestre todas las tareas
Las tareas se guardarán en un array (arreglo) en el estado del componente
Aquí está el código completo y luego lo explicaré paso a paso:
import { useState } from 'react';
function ListaDeTareas() {
// Estado para almacenar la lista de tareas
const [tareas, setTareas] = useState([]);
// Estado para almacenar el valor del input
const [nuevaTarea, setNuevaTarea] = useState('');
// Función para agregar una nueva tarea
const agregarTarea = () => {
if (nuevaTarea.trim() !== '') {
setTareas([...tareas, nuevaTarea]);
setNuevaTarea(''); // Limpiar el input después de agregar
}
};
// Función para manejar la tecla Enter
const manejarKeyDown = (e) => {
if (e.key === 'Enter') {
agregarTarea();
}
};
return (
<div style={{ maxWidth: '400px', margin: '0 auto', padding: '20px' }}>
<h1>Lista de Tareas</h1>
<div>
<input
type="text"
value={nuevaTarea}
onChange={(e) => setNuevaTarea(e.target.value)}
onKeyDown={manejarKeyDown}
placeholder="Escribe una nueva tarea"
/>
<button onClick={agregarTarea}>Agregar</button>
</div>
<ul>
{tareas.map((tarea, index) => (
<li key={index}>{tarea}</li>
))}
</ul>
</div>
);
}
export default ListaDeTareas;Explicación paso a paso:
Importar useState:
useStatees un hook de React que nos permite manejar estado en componentes funcionales.
Estado del componente:
tareas: Array que almacena todas las tareas (inicialmente vacío)nuevaTarea: String que almacena el valor del input (inicialmente vacío)
Función agregarTarea:
Verifica que el input no esté vacío o solo contenga espacios
Agrega la nueva tarea al array existente usando el spread operator (
...)Limpia el input después de agregar la tarea
Función manejarKeyDown:
Permite agregar tareas presionando Enter
Renderizado:
Input controlado: su valor está vinculado al estado
nuevaTareaBotón que ejecuta
agregarTareaal hacer clickLista (
ul) que muestra todas las tareas usandomap
Cómo usar este componente:
Crea un nuevo proyecto React (si no tienes uno) con:
npx create-react-app mi-lista-tareasReemplaza el contenido de
App.jscon este componente o crea un nuevo archivo para él.Ejecuta la aplicación con:
npm start
Características adicionales que podrías agregar después:
Eliminar tareas
Marcar tareas como completadas
Persistencia (guardar en localStorage)
Editar tareas existentes
Este ejemplo es intencionalmente básico para que entiendas los conceptos fundamentales de React: estado, manejo de eventos y renderizado de listas. ¿Te gustaría que profundice en algún aspecto en particular?
Comentarios
Publicar un comentario