You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Accessing form error array using form.useStore and destructuring can cause react update depth issue #902
When using destructuring, the form.useStore hook returns an error array that appears to change on every render. This then causes a react update depth issue.
@Balastrong It's been a bit, but what I was trying to achieve was to have 1 hook that would return the errors and other properties, i.e.
// My one hook to rule them allconst{isValid, isPristine, isSubmitted, isSubmitting,errors}=form.useStore(state=>({canSubmit: state.canSubmit,isPristine: state.isPristine,isSubmitted: state.isSubmitted,isSubmitting: state.isSubmitting,errors: state.errors}))
Because of this bug (and after a extended debugging session) I had to split it into 2 different hook calls so that it would work:
// The main hookconst{isValid, isPristine, isSubmitted, isSubmitting}=form.useStore(state=>({canSubmit: state.canSubmit,isPristine: state.isPristine,isSubmitted: state.isSubmitted,isSubmitting: state.isSubmitting}))// The separate error hook to bypass the bugconsterrors=form.useStore(state=>state.errors)
Activity
jackcoup commentedon Oct 26, 2024
I also get this almost every time I use
form.useStore((state) => state.values)really not ideal.SiddOnKeys commentedon Nov 3, 2024
did u find a fix or any way around it, its causing issues for me and I'm on a deadline lol
jackcoup commentedon Nov 3, 2024
I believe I used
form.useField()for each propBalastrong commentedon Nov 4, 2024
I'm sorry but
const errors = form.useStore((state) => state.errors)seems to be working fine, I think I don't understand where's the problem.What feature are you trying to implement?
craigbehnke commentedon Nov 4, 2024
@Balastrong It's been a bit, but what I was trying to achieve was to have 1 hook that would return the errors and other properties, i.e.
Because of this bug (and after a extended debugging session) I had to split it into 2 different hook calls so that it would work:
Balastrong commentedon Nov 4, 2024
Ok! I don't have a ready answer sadly, but I understood the issue, thanks :D
crutchcorn commentedon Nov 25, 2024
This is a complex issue that is understandably a major headache for our users.
While researching a fix, we've also found an issue with how we handle derived state: #1036
Needless to say, we're working on a broader scope fix to this problem rather than a band-aid. This starts with:
TanStack/store#40
And #1038 (via dogfooding TanStack/store#40 )
This might be a larger body of work than anticipated, so please standby while we work hard on making this a reality
crutchcorn commentedon Dec 28, 2024
Happy to report that we've achieved a fix in the #1038 branch 🎉
We'll work on having this fix out soon
crutchcorn commentedon Dec 29, 2024
This should be resolved as of
v0.41.0: https://github.com/TanStack/form/releases/tag/v0.41.0