Hey, I've been thinking about this question too. I used apollo-graphql in the past as well and more recently tanstack-query. I think it's similar to Next.js' SWR as well.
Out of curiosity, what benefits do you see in using something like that with Qwik?
My understanding is that those solutions are all client-side fetch/server-state. They not only provide caches that help prevent over-fetching, but also things like loading states, optimistic updates, pagination, deduping requests and more.
But the key thing to consider here imo is that those are client-side fetch/server-state solutions. So I am wondering if these are actually desirable for SSR Qwik applications. Aren't you guys using SSR? Cause with route loaders, you get better performance (thanks to SSR), you don't have to worry about loading states, and it doesn't seem too hard to implement optimistic updates, debounced inputs, and pagination. On the otherhand I'm not sure about deduping requests, and more importantly, I'm not sure about caching. I've just discovered cache-control (https://qwik.builder.io/docs/caching/#caching-responses), but I'm not sure it can do everything that tanstack query can.
I'd love to get some feedback on this. Perhaps these client-side libraries aren't the right way to think about SSR state/cache. Perhaps that is why tanstack is now working on tanstack loaders and tanstack actions (https://tanstack.com/) ?