[RFC] Stabilize the useInput return properties #8780
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I was writing some more complex custom components inside of react-admin that use
useInput
to update fields.Somewhere in my code I use an effect, based on the results of this hook, to trigger updates like so:
(I know this might look like stupid code, but this is a very trimmed down example of what I want to achieve in my component:) )
This resulted in an infinite loop because the
onChange
that is returned fromuseInput
is not stable, it is always a new function, even though nothing significant changes.I made a quick fix for this in this PR, will add tests or more fixes if this is deemed to be a good fix or not. Not sure if there are further implications or reasonings why this is done the way it is now, so looking for feedback.