T
TanStack9mo ago
flat-fuchsia

I'll be the first one to ask: Any timeline for a TanStack Start RC?

Hello, I'd like to ask if there will be an RC or v1 soon?
10 Replies
correct-apricot
correct-apricot9mo ago
Still TBD as far as I know I think probably want to get off Vinxi first
flat-fuchsia
flat-fuchsiaOP9mo ago
This is taking a while. Will probably skip Start for my next big project at work, then.
sunny-green
sunny-green2mo ago
news on this ? @brenelz
correct-apricot
correct-apricot2mo ago
The main branch is off Vinxi now but still not sure when an RC will happen
sunny-green
sunny-green2mo ago
did you recomend use tanstack start on prod now ?
unwilling-turquoise
unwilling-turquoise2mo ago
We use it and it works great. If you are ok with migrating some stuff if changes appear, since the api isn’t fully stable, it shouldn’t be a problem
fair-rose
fair-rose2mo ago
Any gotchas/takeaways to consider? We have an app in production with tanstack router. Now we need to migrate to tanstack start for SEO purposes
unwilling-turquoise
unwilling-turquoise2mo ago
Hmm. Not really. We just have a _auth layout where we check the session. And then, in any route, in the loader we use tanstack query with prefetchQuery and then inside the route itself, useSuspenseQuery and useMutation (all those are calling a start server function). And that’s it. Pretty easy. We write actual app code now instead of fighting the framework like we did on other apps with next
fair-rose
fair-rose2mo ago
In loaders do you use ensureQueryData ? If so, in the component do you use useQuery or useSuspenseQuery?
unwilling-turquoise
unwilling-turquoise2mo ago
In loaders I use prefetchQuery if I don’t need the data in the loader. Or ensureQueryData if I need it Ex: I use prefetch if there is a single query, or multiple independent ones. But if I need a response from query1 to put inside the query2 values, then I use ensure And for query vs suspense, I usually useSuspense with the pending and error component from the route. Or if I have multiple parts on the route that I want to have individual loaders, I usually useQuery directly inside that specific component and have the loader/error inside. I feel using suspense in those cases forces me to add Suspense + error boundary outside of that component and I feel it complicates stuff With useQuery I have the loader/error colocated with the component code. Not directly in the parent But if I don’t need multiple loaders, then useSuspense all the way. And display the pendingComponent from the route

Did you find this page helpful?