У меня проблемы с пониманием Formik и как он управляет состоянием. У меня есть несколько компонентов в моем приложении, которые имеют формы. Эти формы имеют много совпадений по назначению. Когда я получаю значения в одном компоненте, я бы хотел, чтобы другие компоненты тоже имели доступ к этим значениям.
Я размышлял об использовании useState или useReducer для каждого и всех значений, но прочитал и обнаружил, что Formik управляет самим состоянием? Так что моя проблема здесь была бы на самом деле просто получить доступ к значениям из «initialValues» в определенном компоненте в разных компонентах?
import { Formik, Field, Form, ErrorMessage } from 'formik';
import * as Yup from 'yup';
<Formik
initialValues={{ name: '', ... }} //how can I use these values in other components?
//how can I 'save' them so that if the user
//accesses another page with a form,
//the data that has already been provided is accessible?
onSubmit={(values, { setSubmitting }) => {
setTimeout(() => {
alert(JSON.stringify(values, null, 2));
setSubmitting(false);
}, 400)
}}
>
<Form>
<label htmlFor="name">Name</label>
<Field maxLength="51"
name="name"
type="text"
/>
<ErrorMessage name="name" />
...
</Form>
</Formik>