GitHub discussion about this issue - https://github.com/jaredpalmer/formik/issues/529
I passed formik values to a function that is called in <Field/>
's onChange but when I type in the <Field/>
, the last character does not fall into the function.
CodeSandbox - link
Screenshot:
Minimal Code Instance:
import React from react;
import ReactDOM from react-dom;
import { Formik, Form, Field, FieldArray } from formik;
function App() {
//------ HERE ----------
const getValues = values => console.log(values.fields[0]);
//----------------------
return (
<>
<Formik
initialValues={{ fields: [] }}
onSubmit={(values, actions) => {
actions.setSubmitting(false);
console.log(values);
return false;
}}
render={({ setFieldValue, values }) => (
<Form>
<FieldArray
name=fields
render={() => (
<Field
type=text
name=fields.0
placeholder=Write something
onChange={e => {
setFieldValue(fields.0, e.target.value);
//---------------
getValues(values);
//---------------
}}
/>
)}
/>
</Form>
)}
/>
</>
);
}
ReactDOM.render(<App />, document.getElementById(root));