React: Proyecto: gestor de tareas CRUD con React

Proyecto de programación
Intermedio
React
Curso de React
45 min
300 XP
Actualizado: 18/04/2026

Ejercicio de programación: Proyecto: gestor de tareas CRUD con React

Este ejercicio de programación está diseñado para poner a prueba tus conocimientos en React. Es un ejercicio de nivel intermedio que requiere conocimientos sólidos de la tecnología.

Tipo: Proyecto 45 minutos estimados 300 puntos de experiencia

Información adicional del ejercicio

Proyecto integrador de React en el que se construye una aplicación de gestion de tareas con operaciones CRUD completas. Se aplican componentes funcionales, useState, renderizado condicional e iterativo, manejo de eventos y comunicación entre componentes mediante props.

Contenido del ejercicio

Desarrolla una aplicación de gestion de tareas (to-do list) con React que implemente las cuatro operaciones CRUD.

1. Componente principal (App)

Crea el componente App como punto de entrada de la aplicación:

  • Define un estado tareas con useState inicializado como un array vacio o con algunas tareas de ejemplo. Cada tarea debe ser un objeto con al menos las propiedades id (número o string único), titulo (string) y completada (boolean).
  • Implementa las funciones para las operaciones CRUD:
    • agregarTarea(titulo): crea una nueva tarea con un id único (puedes usar Date.now()), el titulo recibido y completada: false, y la anade al estado.
    • eliminarTarea(id): filtra el array de tareas para eliminar la que coincida con el id.
    • editarTarea(id, nuevoTitulo): actualiza el titulo de la tarea con el id indicado usando map.
    • toggleCompletada(id): invierte el valor de completada de la tarea con el id indicado.
  • Renderiza el componente FormularioTarea y la lista de componentes TareaItem.
  • Si no hay tareas, muestra un mensaje indicando que la lista esta vacia.

2. Componente FormularioTarea

Crea un componente FormularioTarea que reciba la función agregarTarea como prop:

  • Incluye un campo input de tipo texto controlado por un estado local (useState) para el titulo de la nueva tarea.
  • Incluye un boton de envio que llame a agregarTarea con el valor del input y luego limpie el campo.
  • Válida que el titulo no este vacio antes de agregar la tarea.
  • Utiliza el evento onSubmit del formulario y llama a preventDefault para evitar la recarga de la página.

3. Componente TareaItem

Crea un componente TareaItem que reciba como props la tarea y las funciones eliminarTarea, editarTarea y toggleCompletada:

  • Muestra el titulo de la tarea. Si completada es true, aplica un estilo visual diferente (por ejemplo, texto tachado con textDecoration: "line-through").
  • Incluye un boton o checkbox para alternar el estado de completada llamando a toggleCompletada.
  • Incluye un boton para eliminar la tarea llamando a eliminarTarea.
  • Implementa un modo de edición: al pulsar un boton "Editar", el titulo se convierte en un input editable con un boton "Guardar" que llame a editarTarea con el nuevo valor.

4. Estilos básicos

  • Aplica estilos minimos para que la aplicación sea usable: un contenedor centrado, separación visual entre tareas y botones distinguibles.
  • Puedes usar estilos inline, un archivo CSS importado o CSS modules.

Más ejercicios de React

Explora más ejercicios de programación en React para mejorar tus habilidades y obtener tu certificación.

Ver más ejercicios de React
Alan Sastre - Autor del ejercicio

Alan Sastre

Ingeniero de Software y formador, CEO en CertiDevs

Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, React es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear ejercicios prácticos y contenido educativo de calidad para desarrolladores de todos los niveles.

Solución al ejercicio de programación en React

Contenido bloqueado

¡Desbloquea la solución completa!

Completa el ejercicio de programación en React para acceder a la solución paso a paso, explicaciones detalladas y mejores prácticas.

solution.js
JavaScript
1 function solveChallenge ( input ) {
2 // Algoritmo optimizado O(n log n)
3 const data = parseInput ( input );
4 const sorted = data . sort (( a , b ) => a - b );
5
6 // Aplicar técnica de dos punteros
7 let left = 0 , right = sorted . length - 1 ;
8 const result = [];
9
10 while ( left < right ) {
11 const sum = sorted [ left ] + sorted [ right ];
12 if ( sum === target ) {
13 result . push ([ sorted [ left ], sorted [ right ]]);
14 left ++; right --;
15 } else if ( sum < target ) {
16 left ++;
17 } else {
18 right --;
19 }
20 }
21
22 return result ;
23 }
Código completo
Explicaciones
Mejores prácticas
+1.200 developers han resuelto este ejercicio de programación

Practica con ejercicios de programación en React

Mejora tus habilidades con cientos de ejercicios de práctica, recibe retroalimentación instantánea y obtén tu certificación cuando estés listo.

Asistente de IA

Aprende de tus errores

Progreso

Mide tu avance

Certificación

Valida tus habilidades

Ejercicios de programación en React: Práctica y Certificación

Los ejercicios de programación son fundamentales para dominar React. Este ejercicio está diseñado para poner a prueba tus conocimientos prácticos y ayudarte a consolidar lo aprendido en las lecciones teóricas. La práctica constante con ejercicios de programación es la clave para convertirte en un desarrollador experto.

¿Por qué resolver ejercicios de programación?

Resolver ejercicios de programación en React te permite:

  • Aplicar conocimientos teóricos: Poner en práctica los conceptos aprendidos en las lecciones de React.
  • Identificar áreas de mejora: Descubrir qué conceptos necesitas reforzar en tu aprendizaje de React.
  • Prepararte para certificaciones: Los ejercicios te preparan para obtener certificados profesionales en React.
  • Mejorar tu perfil profesional: Demostrar tus habilidades prácticas en React.

Metodología de aprendizaje

Nuestros ejercicios de programación están diseñados siguiendo una metodología probada de aprendizaje progresivo. Cada ejercicio en React está cuidadosamente estructurado para llevar tus habilidades al siguiente nivel. Comenzamos con conceptos fundamentales y avanzamos gradualmente hacia desafíos más complejos que reflejan situaciones reales del desarrollo de software profesional.

Certificación y validación de conocimientos

Al completar ejercicios de programación, no solo mejoras tus habilidades técnicas, sino que también puedes obtener certificados que validan tu expertise en React. Estos certificados son reconocidos por empresas y pueden ser una gran adición a tu perfil profesional de LinkedIn o tu CV como desarrollador.

Los ejercicios están alineados con los estándares de la industria y cubren desde conceptos básicos hasta técnicas avanzadas de programación en React. Cada ejercicio incluye casos de prueba y ejemplos prácticos que te ayudarán a comprender mejor cómo aplicar lo aprendido en proyectos reales.

Nota: Para obtener el máximo beneficio de este ejercicio de programación, te recomendamos revisar primero las lecciones relacionadas de React y asegurarte de comprender los conceptos básicos antes de intentar resolver el ejercicio.