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.
This is exactly the same implementation of FuelLabs/fuels-npm-packs#55
Applying here just for compatibility purposes (temporarily since this will be removed soon).
This PR fixes and reduces a lot of re-renders across our query observers.
This issue was caused due to the way which
@tanstack/react-query
handles the tracked properties to re-renders.Internally, they implemented a
Proxy
to intercept and track which properties a component is listening from auseQuery
hook.It means that when we're calling a
useQuery
with spread operators, it is forwarding to thatProxy
that we want to listen to EVERY existent property.So, what I did? I created the
useNamedQuery
that is also aProxy
and it'll also rename the data property to anything you want to name, and keeping the performance everywhere.This ensures we're going to re-render ONLY when
tracked
properties get updates.