import React, { useState, useEffect } from 'react'; import { useGetProd } from '../api'; import './allProducts.css'; const AllProducts = ({ setCart }) => { const allProducts = useGetProd(); const [productState, setProductState] = useState([]); // adds "selected" property to each product for checkbox functionality useEffect(() => { if (allProducts) { setProductState(allProducts.map(p => ({ selected: false, ...p }))); } }, [allProducts]) // when checkbox is changed, the corresponding product "selected" value is inversed // cart state is filled with products that have TRUE "selected" value const onChange = (event) => { const {id} = event.target; setProductState(productState.map(p => { if (p.ID === id) { p.selected = !p.selected; } return p; })); setCart(productState.filter((p) => { return (p.selected === true); })); } let ProductList = () => { if (allProducts) { return (
ID | Model # | Description | Price | |
---|---|---|---|---|
{product.ID} | {product.productName} | {product.productDesc} | ${product.price} |
Loading...
> ) } }; return (