diff --git a/src/components/form/genericForm.tsx b/src/components/form/genericForm.tsx index c3afd70..4db088d 100644 --- a/src/components/form/genericForm.tsx +++ b/src/components/form/genericForm.tsx @@ -1,7 +1,7 @@ import React, {useState} from "react"; import './GenericForm.css'; import {useNavigate} from 'react-router-dom' -import {ErrorMessage, Field, Form, Formik, FormikValues} from "formik"; +import {ErrorMessage, Field, Form, FormikProvider, FormikValues, useFormik} from "formik"; import {Step, UserInput, FormData} from './formInterfaces'; import * as Yup from "yup"; @@ -56,30 +56,33 @@ const GenericForm = (formData: FormData) => { setCurrentStep(current => Math.max(current - 1, 0)) } + const formik = useFormik({ + initialValues: userInput, + validationSchema: spec, + onSubmit: (values) => { + handleSubmit(values); + }, + }); + + const { + touched, + errors, + isValid, + handleChange, + values, + setFieldTouched, + } = formik; + const [prevLength, setPrevLength] = useState(0); return (

{formData.title}

-
- { - handleSubmit(values); - }} - > - {({ - touched, - errors, - isValid, - handleChange, - values, - setFieldTouched - }) => ( - -
+
+ + +
+
+
- - - - - )} - +
+ + + +
+
+ +
);