panzacoderP
Convex Community2y ago
5 replies
panzacoder

Preloading queries caching

Ok general question for those using NextJS w/ RSC.

I have routes that i'd like to pre-render and cache requests about my users in convex, but some of these are "forms" that the data might be updated live so I want that to be reactive.

I've seen in the docs that there is both
fetchQuery
and
preloadQuery
and that you can then use the value from
preloadQuery
. My goal for prerendering is two fold:
- faster inital page load for cached routes
- eliminate "jank" when data pops in, even if it's fast (like it would with
useQuery
).

In my implementation, it doesn't seem like
preloadQuery
is doing much except for stopping jank when I reload, and I know in the docs it says that
preloadQuery
basically disables caching for the route as a whole.

My question/suggestion:

Wouldn't it be better to just
fetchQuery
and then replace that response when a
useQuery
comes in? We can still cache/invalidate as needed, and then just rely on
useQuery
for real-time updates.
It would make it much easier for me to default to
fetchQuery
and then just activate the "real-time" as needed.


I think this might go against some of the ways that the Convex team thinks about their product as whole, but I would interested in other users/maintainers feedback here. Am I thinking about these tools wrong?
Was this page helpful?