Post

๐Ÿšข @tanstack.com Query v5.63.0 ships with a great new feature: The ability to unsubscribe an observer from the cache. This will hopefully help in react-native, where screens might stay mounted even if they aren't visible. Unsubscribing makes sure those don't re-render and won't trigger fetches.

github.comRelease v5.63.0 ยท TanStack/queryVersion 5.63.0 - 1/8/25, 2:21 PM Changes Feat react-query: allow useQuery and useQueries to unsubscribe from the query cache with an option (#8348) (e2bc216) by Dominik Dorfmeister Packages @tan...

7 reposts111 likes

the difference here is that unsubscribing from queries also prevents the query logic from running (I don't know react query well enough to be able to tell how much of a saving that could be). So in this case it also skips the query logic + the render (unless there's another factor triggering render)

This was one of the topics that I had with @tkdodo.eu. React freeze did prevent re-rendering, but the observers would still fetch and run, just the rendering would be frozen. With the new flag, you can make sure to stop out of screen views/components from actually doing anything unless subscribed

So while react-freeze did already optimize performance, it would not stop work on the JS thread (like fetching, updating etc).

Nice feature! I remember you were working on a PR to reduce observers via some staleTime change, do you know if that is something still being looked into? Thanks Dom!