Hooks para gestión de estado complejo y contexto

Código
Avanzado
React
Curso de React
25 min
75 XP
Actualizado: 06/10/2024

¡Programa y certifícate!

Asistente de IA
Solución de código
Certificado
Empezar ejercicio

Ejercicio de programación: Hooks para gestión de estado complejo y contexto

Este ejercicio de programación está diseñado para poner a prueba tus conocimientos en React. Es un ejercicio avanzado que pondrá a prueba tus conocimientos expertos.

Tipo: Ejercicio de código 25 minutos estimados 75 puntos de experiencia

Información adicional del ejercicio

Crear una aplicación React que gestione un carrito de compras utilizando useContext para compartir el estado global entre componentes. Los usuarios podrán agregar y eliminar productos y ver el total.

Contenido del ejercicio

Este reto está diseñado para medir tus habilidades en la gestión de estado complejo y la utilización del contexto en aplicaciones React. El objetivo es que desarrolles una aplicación de carrito de compras que haga uso eficiente del hook useContext para compartir y manejar el estado global de la aplicación.

En primer lugar, deberás crear un contexto global para el carrito de compras. A continuación, implementarás un proveedor (Provider) que gestionará el estado del carrito y lo pondrá a disposición de todos los componentes de la aplicación que lo requieran. Los componentes de tu aplicación tendrán que hacer uso de useContext para acceder y modificar este estado global.

Entre las funcionalidades clave que deberás implementar se incluyen la adición y eliminación de productos del carrito. El estado del carrito debe ser un array de objetos, donde cada objeto representa un producto con las propiedades id, name y quantity. La lógica para agregar y eliminar productos del carrito se implementará dentro del proveedor del contexto.

Requisitos

  1. Crea un contexto global para el carrito de compras.
  2. Implementa un proveedor (Provider) para gestionar el estado del carrito.
  3. Utiliza useContext en los componentes para acceder y modificar el estado del carrito.
  4. Los componentes deben ser:
    • App: El componente principal que envuelve la aplicación con el proveedor del contexto.
    • ProductList: Un componente que muestra una lista de productos con la opción de agregar al carrito.
    • Cart: Un componente que muestra los productos agregados al carrito y permite eliminarlos, así como el total de productos en el carrito.

Detalles técnicos:

  • El estado del carrito debe ser un array de objetos, donde cada objeto representa un producto con las propiedades id, name y quantity.
  • Implementa funciones para agregar y eliminar productos del carrito dentro del proveedor del contexto.
  • Usa el hook useContext para acceder al estado y las funciones del contexto en ProductList y Cart.

Lección relacionada

Este ejercicio está relacionado con la lección "Hooks para gestión de estado complejo y contexto" de React. Te recomendamos revisar la lección antes de comenzar.

Ver lección relacionada

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

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

Únete a miles de desarrolladores mejorando sus habilidades en React

⭐⭐⭐⭐⭐
4.9/5 valoración