DevPath · Aprende a programar ESPTEN

Capstone: app de tareas en React

Plan de la app: descomponer la UI en componentes

Del boceto al árbol de componentes

Antes de escribir una línea de React, conviene mirar la interfaz y partirla en piezas. Una buena pregunta guía: "¿qué bloques se repiten y qué bloques tienen una responsabilidad clara?". Cada bloque será un componente.

Nuestra mini-app es una lista de tareas (un clásico, y con razón: ejercita props, listas, estado y eventos a la vez). Su pantalla es así:

┌─────────────────────────────┐
│  [ escribe... ]  [ Añadir ] │   ← formulario
├─────────────────────────────┤
│  • Comprar pan       [✔][🗑] │   ← una tarea
│  • Estudiar React    [✔][🗑] │   ← otra tarea
└─────────────────────────────┘

Al observarla aparecen tres responsabilidades naturales:

Regla de oro: el estado vive lo más arriba posible, en el componente que necesita coordinar. Los hijos (TareaItem, ListaTareas) son en su mayoría presentacionales: reciben datos por props y los pintan.

El modelo de datos

Antes que los componentes, decide cómo se representan los datos. Una tarea es un objeto sencillo:

// una tarea
{ id: 1, texto: "Comprar pan", hecha: false }

Y la lista completa es un array de esos objetos:

const tareas = [
  { id: 1, texto: "Comprar pan", hecha: false },
  { id: 2, texto: "Estudiar React", hecha: true },
];

El id es importante: nos servirá como key al renderizar la lista y para identificar qué tarea marcar o borrar.

Pon esto en práctica

DevPath es un curso práctico: aquí lees la teoría; en la app la pones en práctica con ejercicios que se ejecutan de verdad, sin conexión.

Empezar gratis en la app →
El flujo de datos: estado, eventos y renderizado →