Ejercicio de programación: Proyecto: galería de imágenes 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.
Información adicional del ejercicio
Proyecto integrador de React en el que se construye una galería de imágenes interactiva. Se aplican componentes funcionales, useState, renderizado iterativo, renderizado condicional, manejo de eventos, props y estilos para crear una experiencia visual con cuadrícula, filtrado por categoría y previsualización en modal.
Contenido del ejercicio
Desarrolla una galería de imágenes interactiva con React que incluya cuadrícula, filtrado y previsualización.
1. Datos de la galería
Define un array de objetos que representen las imágenes. Cada objeto debe tener al menos las propiedades id (string único), titulo (string), url (string con la URL de la imagen), categoria (string) y opcionalmente descripcion (string).
Puedes usar imágenes de placeholder como https://picsum.photos/seed/{id}/400/300 o cualquier conjunto de URLs de imágenes.
Define al menos ocho imágenes repartidas en al menos tres categorías distintas (por ejemplo: "Oficinas", "Eventos corporativos", "Equipos y tecnología").
2. Componente principal (App)
Crea el componente App que gestione el estado global de la galería:
- Define un estado
categoriaActivaconuseStateinicializado a"Todas"onullpara mostrar todas las imágenes. - Define un estado
imagenSeleccionadaconuseStateinicializado anullpara controlar la imagen mostrada en el modal. - Filtra el array de imágenes según la categoría activa antes de pasarlo al componente de cuadrícula.
- Renderiza los botones de filtro (uno por cada categoría más un botón "Todas"), el componente
Cuadriculay el componenteModal(solo si hay una imagen seleccionada).
3. Botones de filtro
Crea una sección con botones para cada categoría:
- Extrae las categorías únicas del array de imágenes.
- Añade un botón "Todas" que muestre todas las imágenes.
- Al pulsar un botón, actualiza
categoriaActivaen el estado. - Aplica un estilo visual diferente al botón de la categoría activa (por ejemplo, color de fondo destacado o borde).
4. Componente Cuadricula
Crea un componente Cuadricula que reciba el array de imágenes filtradas y la función para seleccionar una imagen:
- Renderiza las imágenes en un layout de cuadrícula usando CSS Grid (
display: grid,grid-template-columns: repeat(auto-fill, minmax(250px, 1fr))) o Flexbox conflex-wrap. - Cada imagen se muestra dentro de un contenedor con un título superpuesto o debajo de la imagen.
- Al hacer clic en una imagen, llama a la función recibida por props para establecer
imagenSeleccionada. - Usa
key={imagen.id}al renderizar la lista (nunca el índice delmap).
5. Componente Modal
Crea un componente Modal que reciba la imagen seleccionada y una función para cerrar el modal:
- Muestra la imagen ampliada con su título y descripción (si existe).
- Incluye un botón de cierre o permite cerrar al hacer clic fuera de la imagen (en el fondo oscuro).
- Aplica un fondo semitransparente oscuro (
background: rgba(0, 0, 0, 0.7)) con posición fija que cubra toda la pantalla.
6. Estilos
- Aplica estilos para que la cuadrícula sea responsive y las imágenes se adapten al ancho disponible.
- Las imágenes deben tener un tamaño uniforme con
object-fit: coverpara evitar distorsión. - Añade un efecto
:hovero de opacidad al pasar el cursor sobre las imágenes de la cuadrícula. - 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 ReactExplora el curso completo de React
Descubre más contenido de React con lecciones, ejercicios y módulos organizados para tu aprendizaje.
Lecciones de React
Aprende los conceptos fundamentales con tutoriales detallados
Ejercicios de React
Practica con más ejercicios de programación
Módulos de React
Explora todos los módulos del curso organizados por temas
Curso completo de React
Ver el temario completo con todos los contenidos del curso
Todas las tecnologías
Explora todos los cursos de programación disponibles
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
¡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.
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.