Skip to content

Commit

Permalink
Make validateOnMount rerun validations when initialValues have changed
Browse files Browse the repository at this point in the history
  • Loading branch information
stefanoverna committed Jun 1, 2020
1 parent 918fa95 commit 7f85236
Showing 1 changed file with 9 additions and 9 deletions.
18 changes: 9 additions & 9 deletions packages/formik/src/Formik.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -363,12 +363,6 @@ export function useFormik<Values extends FormikValues = FormikValues>({
}
);

React.useEffect(() => {
if (validateOnMount && isMounted.current === true) {
validateFormWithLowPriority(initialValues.current);
}
}, [validateOnMount, validateFormWithLowPriority]);

const resetForm = React.useCallback(
(nextState?: Partial<FormikState<Values>>) => {
const values =
Expand Down Expand Up @@ -438,14 +432,20 @@ export function useFormik<Values extends FormikValues = FormikValues>({

React.useEffect(() => {
if (
enableReinitialize &&
isMounted.current === true &&
!isEqual(initialValues.current, props.initialValues)
) {
initialValues.current = props.initialValues;
resetForm();

if (enableReinitialize) {
resetForm();
}

if (validateOnMount) {
validateFormWithLowPriority(initialValues.current);
}
}
}, [enableReinitialize, props.initialValues, resetForm]);
}, [enableReinitialize, props.initialValues, resetForm, validateOnMount, validateFormWithLowPriority]);

React.useEffect(() => {
if (
Expand Down

0 comments on commit 7f85236

Please sign in to comment.