Если пользователь переключается между страницами или вкладками во время заполнения формы formik, вводимые значения теряются. Итак, я хочу сохранить formik из значений, введенных пользователем. Поля формы formik являются динамическими c и иногда форма может содержать более 50 полей.
<FormikForm formikProps={{
enableReinitialize: true,
initialValues: formData || JSON.parse(localStorage.getItem('formvalues')),
onSubmit: onSubmit,
validationSchema: validationSchema,
onChange:(values) => {
localStorage.setItem('formvalues', JSON.stringify(values))
}
}}>
{props => (
<Form className="form">
<FormikForm.Group name="name">
<FormikForm.Label required>Name</FormikForm.Label>
<FormikForm.Field component={FormikForm.Input} />
<FormikForm.Error />
</FormikForm.Group>
</Form>
)}
</FormikForm>
В приведенном выше коде formData
является ответом API для существующего пользователя.