The fix was to add a reset:
const { control, handleSubmit } = useForm<Item>({ defaultValues: { name: Item.name, description: Item.description, }, });
useEffect(() => { reset(item) }, [item]);