Reputation: 381
index.js
const [request, setRequest] = useState({
product_name: '',
categoryId: '',
description: '',
link: ''
});
const loadRequest = async () => {
const res = await Axios.get(`http://localhost:3001/dashboard/${id}`, {
headers: headers
});
let _request = res.data.response
setRequest({
product_name: _request.product_name,
categoryId: _request.categoryId,
description: _request.description,
link: _request.link
})
};
const validationSchema = Yup.object({
product_name: Yup.string().trim().required('Product name is required'),
description: Yup.string().trim().required('Description is required'),
category: Yup.string().required('Category is required')
});
const formik = useFormik({
initialValues: request,
onSubmit: handleSubmit,
validationSchema: validationSchema
});
console.log(formik.values) =====>>> Here I am not getting data
console.log(request) ==========>>> Here I am getting data
I am getting values in the request state but when I set values in initial values in formik it is not showing data. Can someone tell me what am I missing here?
Upvotes: 0
Views: 82
Reputation: 11
//you can add the reset form in your onSubmit. This works for me.
//e.g.
onSubmit: (values, { resetForm }) => { resetForm({ values: "" }); },
Upvotes: 0