Я понял, что Field
имеет атрибут onChange
, где вы можете передать свою собственную форму Formik onChange
отсюда: https://jaredpalmer.com/formik/docs/api/formik#handlechange-e-reactchangeevent-any-void.
Однако я пытаюсь понять, гдеэти value[key]
передаются, поэтому я могу обрабатывать данные, передаваемые в форме.Обнаружено в withFormik (): Как использовать handleChange , чтобы я мог передать два обратных вызова в onChange
реквизита Formik, но мне интересно, есть ли лучший способ справиться с этим.
редактировать после комментариев от людей, которые ответили, спасибо за это:
Мой код использует эти 2 обратных вызова в пропозиции onChange в Field
:
export default function FormikForm() {
const onSubmitHandler = (formValues, actions) => {
console.log(formValues);
console.log(actions);
};
const onChangeHandler = (e) => {
console.log(e.target.value);
};
return (
<div>
<h1>This is the Formik Form</h1>
<Formik
initialValues={{
name: "",
email: "",
age: ""
}}
onSubmit={onSubmitHandler}
render={props => {
return (
<Form>
<label>
Name
<Field
name="name"
type="text"
placeholder="name"
onChange={e => {props.handleChange(e); onChangeHandler(e)}}
/>
</label>
<button type="submit">Submit</button>
</Form>
);
}}
/>
</div>
);
}
Есть ли способ сделать то же самое, что и в onSubmitHandler
, где Formik автоматически выводит значение ввода без необходимости вызова этих 2 функций в onChange
?
Спасибо