Question: Here is the DataForm code import React, { useState } from 'react'; const DataForm = ( { items, addNewItem, updateItem, deleteItem } ) = >
Here is the DataForm code
import React, useState from 'react';
const DataForm items, addNewItem, updateItem, deleteItem
const name setName useState;
const brand setBrand useState;
const price setPrice useState;
const image setImage useStatenull;
const error setError useStatenull;
const success setSuccess useStatefalse;
const editingItemId setEditingItemId useStatenull;
const handleImageChange e
const file etarget.files;
if file
setImagefile; Save the selected file in state
;
const handleEdit item
setEditingItemIditemid;
setNameitemname;
setBranditembrand;
setPriceitemprice;
setImagenull;
setErrornull;
setSuccessfalse;
;
const handleSubmit async e
epreventDefault;
if name brand price editingItemId && image
setErrorAll fields are required, including an image for new items.;
setSuccessfalse;
return;
const priceNumber parseFloatprice;
if isNaNpriceNumber
setErrorPrice must be a valid number.;
setSuccessfalse;
return;
const formData new FormData;
formData.appendname name;
formData.appendbrand brand;
formData.appendprice priceNumber;
if image formData.appendgear image;
setErrornull;
try
if editingItemId
Update existing item
const response await fetchMy URL$editingItemId
method: 'PUT',
body: formData,
;
const data await response.json;
if datasuccess
updateItemdataupdatedItem;
setSuccesstrue;
resetForm;
else
setErrordatamessage 'Failed to update the item.;
setSuccessfalse;
else
Add new item
const response await fetchMy URL',
method: 'POST',
body: formData,
;
const data await response.json;
if datasuccess
addNewItemdatanewItem;
setSuccesstrue;
resetForm;
else
setErrordatamessage 'Failed to add the item.;
setSuccessfalse;
catch err
setErrorAn error occurred while submitting the form.;
setSuccessfalse;
;
const handleDelete async itemId
try
const response await fetchMy URL$itemId method: 'DELETE' ;
const data await response.json;
if datasuccess
deleteItemitemId;
setSuccesstrue;
else
setErrordatamessage 'Failed to delete the item.;
setSuccessfalse;
catch err
setErrorAn error occurred while deleting the item.;
setSuccessfalse;
;
const resetForm
setEditingItemIdnull;
setName;
setBrand;
setPrice;
setImagenull;
document.getElementByIdfileInputvalue ;
;
return
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
