Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

169
Vistas
¿Cómo eliminar un artículo igual del carrito sin eliminar un igual?

Hice comercio electrónico con un carrito para la actividad usando la API de contexto, pero cuando voy a eliminar un artículo del carrito y tengo dos, pero cuando elimino uno, elimino el otro. ¿Cómo evitarlo?

Dentro de mis proveedores, este es mi catálogo:

 import { createContext, useState } from "react" export const CatalogueContext = createContext([]) export const CatalogueProvider = ({ children }) => { const [catalogue, setCatalogue] = useState([ {id: 1, name: "Affogato", price: 10, img: affogato,}, {id: 2, name: "Café preto", price: 10, img: black,}, {id: 3, name: "Capuccino", price: 10, img: cappuccino,}, {id: 4, name: "Dalgona", price: 10, img: dalgona,}, {id: 5, name: "Doppio", price: 10, img: doppio,}, {id: 6, name: "Expresso", price: 10, img: expresso,}, {id: 7, name: "Galão", price: 10, img: galao,}, {id: 8, name: "Irlandês", price: 10, img: irish}, {id: 9, name: "Latte", price: 10, img: latte,}, {id: 10, name: "Mocha", price: 10, img: mocha,} ]) return ( <CatalogueContext.Provider value={{ catalogue }} > {children} </CatalogueContext.Provider> ) }

Este es mi carrito:

 import { createContext, useState } from "react"; export const CartContext = createContext([]) export const CartProvider = ({ children }) => { const [cart, setCart] = useState([]) const addToCart = (item) => { setCart([...cart, item]) } const removeFromCart = (item) => { const newCart = cart.filter((itemOnCart) => itemOnCart.id !== item.id) setCart(newCart) } return ( <CartContext.Provider value={{ cart, addToCart, removeFromCart}} > {children} </CartContext.Provider> ) }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

¿Puede intentar usar la propiedad para almacenar un recuento de artículos en el carrito? Por ejemplo: cuando el usuario agrega el primer elemento, lo agrega en la matriz. Cuando el usuario intenta agregar el mismo elemento, debe actualizar el recuento para 1.

El map de métodos te ayudará

La misma lógica para eliminar. Cuando el usuario elimina cualquier elemento, lo encontrará en el contador de matriz y decremento. Cuando el contador sea igual a 0, elimínelo de la matriz

Method find te ayudará con whis

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda