import React, { useState } from 'react'; // la modification des éléments de la liste n'est pas gérée ici // à vous de le faire.. // Item // ==== const Item = ({item}) => <>

Name: {item.name}

Cost: {item.cost}€

Quantity: {item.quantity}

; // ItemsList // ========= const ItemsList = ({items, updateItem, removeItem}) => ; // AddItemForm // =========== const AddItemForm = ({addItem}) => { const [currentText, setCurrentText] = useState(''); const handleSubmit = (e) => { e.preventDefault(); addItem(currentText); setCurrentText(''); }; return (
setCurrentText(e.target.value)} />
); }; // GroceryApp // =========== const GroceryApp = () => { const [items, setItems] = useState([]); const addItem = (text) => { setItems(items => [ {name: text, cost: 1, quantity: 1}, ...items ]); }; const removeItem = (index) => { setItems(items => items.filter((i, idx) => idx !== index)); }; return <>

Grocery list

Total cost : { items.reduce((acc, i) => acc + i.cost * i.quantity, 0) }

; }; export default GroceryApp;