Potyczka z Formikiem drugie starcie

0

Dzisiaj posunęłam się z Formikiem trochę dalej
I oto zastanawiam się czy i ew. jak zmodyfikować standardowe onChange.
W tej chwili mam coś takiego:

const {
    values,
    handleSubmit,
    submitCount,
    getFieldProps,
    handleReset,
  } = useFormik({
    initialValues: {
      authors: "",
      title: "",
      subject:""
    },

    onSubmit() {
     
      const isValidated = validateSearchInput(cloneDeep(values));
      setValidated(validated => (validated = isValidated));

    if (isValidated.valid) {
      redirect.connecting();
      fetchBooks(createFullPathToAPI(prefixSearchFormInput(values)), redirect);
    }
    },
  });

  const areButtonsVisible = useCallback(() => {
    return Object.values(values).some(item => item !== "");
  }, [values]);


areButtonsVisible decyduje o tym czy takie jedne guziki są widoczne, czy nie.
Tyle, że zastanawiam się, czy nie wolałabym mieć tej informacji 'schowanej' w jakimś polu za pomocą setValues albo setFieldValue.
Jednak jest drobne ale, musiałabym to wywoływac przy każdej zmianie inputa. Żeby to zrobić, pewnie trza by nadpisac standardowe onChange.
Pytanie, jak?
Czy

const {
    values,
    handleSubmit,
    submitCount,
    getFieldProps,
    onChange,
    handleReset,
  } = useFormik({............})

onChange =()=>{onChange(); funkcjaUstawiającaPole();}

jest do przyjęcia, czy wręcz przeciwnie?
Ewentualnie czy waszym zdaniem ta operacja jest warta świeczki? Co jest lepszą praktyką?

2

1 wersja jest moim zdaniem lepsza - jeżeli potrafisz coś wywnioskować z obecnego stanu nie ma potrzeby tworzyć dodatkowego.

1 użytkowników online, w tym zalogowanych: 0, gości: 1