T
TanStack2y ago
conventional-tan

query cache performance

is there any significant difference between using const {data} = useSomething(params) or inifite query and useSomething(params) const query = queryCache.find(params) and useSomething(params) const data = queryClient.getQueryData(params) or the second and third example is just bad practice ?
7 Replies
hilarious-sapphire
hilarious-sapphire2y ago
useQuery is the main API. Use it. You have to have a good reason to use the other ways of accessing the cache. Technically, the difference is significant but from a user point of view it is not. useQuery creates a subscriber to the cache, the other approaches do not.
conventional-tan
conventional-tanOP2y ago
what you mean by "significant but nor from user view" ? i see the difference in the API but i see no problem using queryCache.find. the question: is there any ram or cpu difference can i measure it?
hilarious-sapphire
hilarious-sapphire2y ago
Of course you could measure it. But I highly doubt that your application would profit from optimizations like that.
conventional-tan
conventional-tanOP2y ago
what if i need to use pagination? usequery and useinfinitequery are the same ?
hilarious-sapphire
hilarious-sapphire2y ago
Explain your use case and we might be able to help you
conventional-tan
conventional-tanOP2y ago
i want to fetch many pages render after render and get the sum of data. some time data may not come or smt went wrong with the query. i want be able to still to fetch ie 1.2.3.4.5[broken page].6.7.8.9 still want to get 1.2.3.4.7.8.9 pages data
harsh-harlequin
harsh-harlequin2y ago
The difference is significant because only useQuery creates a subscription to the cache. Your components won't rerender correctly without it

Did you find this page helpful?