Description
Bug report
Current Behavior
When using Formik with validateOnMount: true
and mutated initialValues
controlled outside the form context, on the 1st change, Formik will go into an infinite validation loop, crashing the page eventually.
This behavior is easily caught when using a toggle in the form that affects its validation and/or structure.
Expected behavior
It is expected that, whenever initialValues
change, a proper validation is done on the newly provided values.
Reproducible example
Formik validateOnMount with a toggle that freezes the app: https://codesandbox.io/s/github/rapzo/formik-validateOnMount/tree/csb-dengj
A possible workaround, although it kind of limits the depth of the changeable value: https://codesandbox.io/s/github/rapzo/formik-validateOnMount/tree/main
Suggested solution(s)
Additional context
I don't know if this was an expected behavior so I'm creating the issue before a PR.
Will be happy to add test cases to the PR if this proposal makes sense.
Your environment
Software | Version(s) |
---|---|
Formik | 2.2.9 |
React | 17.0.2 |
TypeScript | 4.4.2 |
Browser | Google Chrome 91.0.4472.164 (Official Build) (64-bit) |
npm/Yarn | 6.14.15/1.22.11 |
Operating System | Manjaro (kernel: 5.10.56-1-MANJARO) |