import React, { ChangeEvent, useMemo, useState } from "react"; import { Button, Form, InputOnChangeData, Segment } from "semantic-ui-react"; import { PantryItem } from "../model"; const defaultPantryItem = () => ({ name: "", description: "", quantity: 1, quantityUnitType: "oz", } as PantryItem); interface AddItemProps { addItem: (item: PantryItem) => Promise; } const AddItem = ({ addItem }: AddItemProps) => { const [additionItem, setAdditionItem] = useState(); const [additionItemLoading, setAdditionItemLoading] = useState(false); const handleItemChange = ( _: ChangeEvent, { name, value }: InputOnChangeData ) => setAdditionItem((item) => ({ ...(item !== undefined ? item : defaultPantryItem()), [name]: value, })); const newItem = useMemo( () => additionItem ?? defaultPantryItem(), [additionItem] ); return ( <> ); }; export default AddItem;