UNPKG

jordib-product-card

Version:

Este es un paquete de pruebas de despliegue en NPM

32 lines (23 loc) 935 B
import { useState } from "react"; import { ProductInCart, onChangeArgs } from "../interfaces/interfaces"; export const useShoppingCart = () => { // Manejar el cart como un objeto, dentro tenemos x cantidad de llaves que son strings y los valores de ese objeto son de tipo Product in cart const [shoppingCart, setShoppingCart] = useState<{[key:string]:ProductInCart}>({}); const onProductCountChange = ({count, product}:onChangeArgs) => { // El count es un +1, o, -1 setShoppingCart(oldShoppingCart => { if(count === 0){ const { [product.id]: toDelete, ...rest} = oldShoppingCart return rest; } return { ...oldShoppingCart, [product.id]: {...product, count} } }) } return { shoppingCart, onProductCountChange } }