Освоение сброса форм в Formik: полное руководство по простому сбросу форм

Обработка форм — важнейшая часть любого веб-приложения, и разработчики React часто полагаются на такие библиотеки, как Formik, для упрощения процесса. Одним из распространенных требований при обработке форм является возврат формы в исходное состояние. В этой статье мы рассмотрим метод «resetForm» в Formik и предоставим вам несколько способов легкого сброса форм. Итак, приступим!

  1. Использование метода resetForm():
    Formik предоставляет удобный метод под названием «resetForm()», который позволяет вернуть форму обратно в исходное состояние. Доступ к этому методу можно получить через контекст Formik или с помощью ловушки useFormikContext(). Вот пример:
import { useFormikContext } from 'formik';
function MyFormComponent() {
  const formik = useFormikContext();
  const handleReset = () => {
    formik.resetForm();
  };
  return (
    <form>
      {/* Form fields */}
      <button type="button" onClick={handleReset}>
        Reset
      </button>
    </form>
  );
}
  1. Использование начальных значений.
    Другой подход к сбросу формы Formik — использование свойства «initialValues». Переназначая форме начальные значения, мы фактически возвращаем ее в исходное состояние. Вот пример:
import { Formik, Field } from 'formik';
function MyFormComponent() {
  const initialValues = {
    // Initial form values
  };
  const handleReset = () => {
    formik.setValues(initialValues);
  };
  return (
    <Formik initialValues={initialValues}>
      <form>
        {/* Form fields */}
        <button type="button" onClick={handleReset}>
          Reset
        </button>
      </form>
    </Formik>
  );
}
  1. Сброс полей формы вручную.
    Если вам нужен больший контроль над тем, какие поля нужно сбросить, вы можете вручную сбросить каждое поле по отдельности, используя метод «setFieldValue()». Вот пример:
import { useFormik } from 'formik';
function MyFormComponent() {
  const formik = useFormik({
    initialValues: {
      // Initial form values
    },
    onSubmit: (values) => {
      // Form submission logic
    },
  });
  const handleReset = () => {
    formik.setFieldValue('fieldName', formik.initialValues.fieldName);
    // Reset other fields in a similar manner
  };
  return (
    <form onSubmit={formik.handleSubmit}>
      {/* Form fields */}
      <button type="button" onClick={handleReset}>
        Reset
      </button>
      <button type="submit">Submit</button>
    </form>
  );
}

В этой статье мы рассмотрели различные способы сброса форм в Formik. Используя метод «resetForm()», свойство «initialValues» или вручную сбрасывая поля формы, вы можете легко обрабатывать сброс формы в своих приложениях React. Не забудьте выбрать тот подход, который лучше всего соответствует вашим конкретным требованиям. Приятного кодирования!