Двусторонняя привязка для поля Formik и пользовательского компонента в React

#javascript #reactjs #formik

#javascript #reactjs #formik

Вопрос:

Я пытаюсь передать свой собственный функциональный компонент в качестве атрибута компонента в поле Formik в React. Проблема в том, что я не знаю, как связать значение поля Formik со значением в моем пользовательском компоненте. Вот что я попробовал:

Form.js

 // other Formik Form code...
<Field
    className="form-control"
    name="NetWeight"
    component={IntegerComponent}
></Field>
//...
 

IntegerComponent.js

 function IntegerComponent({ field, className }) {
    const onChangeHandler = event => {
      const returnVal = (event.target.validity.valid) ? event.target.value : inputValue;
      setInputValue(returnVal);
    };

    return <input
      type="text"
      pattern="[0-9]*"
      className={className}
      onChange={onChangeHandler}
      value={inputValue}
    />
}
 

Я хочу привязать Formik field.value , которые я разрушаю из реквизитов, к входному значению моего NumberComponent. Я пытался это сделать field.value = returnVal , но это тоже не сработало. Я знаю, что могу использовать обработчики onBlur и onChange для вышеуказанных целей, а не для создания своего функционального компонента, но способ построения моего проекта, если я смогу заставить это работать, поможет сократить количество избыточного кода. Есть мысли или предложения?