Задать вопрос
@DaveGarrow

Почему Formik вызывает рекурсию при инициализации?

Есть компонент, в котором присутствует форма
<Formik
    onSubmit={...}
    enableReinitialize
    initialValues={oldValues}
>
    <CurrentForm />
</Formik>;


И сам currentForm
function CurrentForm() {
    const { values, setFieldValue, handleSubmit } = useFormikContext();
    return (
      <div onSubmit={handleSubmit}>
          <Input1 />
          <Input2 />
          <Input3 />
          <Button />
      </div>
    );
}


После ввода всех значений, я беру values и сохраняю все значения в redux. Затем, мне в этой же форме, нужно проставить другие значения из Redux. Для этого нужно поменять initialValues. Соответственно oldValues хочу сменить на новые newValues. Тогда нужно сделать переинит Formika, но простановка enableReinitialize при новом рендере компонента вызывает рекурсию(

В чем может быть причина или есть варианты как избежать данной проблемы?
  • Вопрос задан
  • 131 просмотр
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Нетология
    Frontend-разработка на React
    10 недель
    Далее
  • Академия Eduson
    React-разработчик
    2 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 1
Первое что бросается в глаза, это то что за место тега form используется div. Замените, т.к. это ошибка
function CurrentForm() {
    const { values, setFieldValue, handleSubmit } = useFormikContext();
    return (
      <form onSubmit={handleSubmit}>
          <Input1 />
          <Input2 />
          <Input3 />
          <Button />
      </form >
    );
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Екатеринбург
от 50 000 до 90 000 ₽
от 250 000 до 300 000 ₽