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 ( {productState.map(product => { return ( ); }) }
ID Model # Description Price
{product.ID} {product.productName} {product.productDesc} ${product.price}
); } else { return ( <>

Loading...

) } }; return (

Fetch product list from https://api.oemautomation.com:3001

); } export default AllProducts;