T
TanStack4mo ago
flat-fuchsia

Can I redirect AND update the router context within beforeLoad?

For context: My server has the following states: uninitialized & initialized In the beforeLoad of the __root.tsx I use TSQuery to get the serverState and inject it into the router context along with the QueryClient. What I want is to be able to redirect from there depending on the state. So if uninitialized, all paths would reroute to /initialization (a single page without sub routes). Same for restarting and disconnected. If initialized, routing would happen normally with a default redirect to /home from the index. I thought about doing this in the __root.tsx but I can't both update the context via a return AND throw redirects obviously. I tried updating the context by just setting fields (eg. context.serverState = serverState) but this doesn't work, I get undefined in the beforeLoads of subsequent routes when using serverState. I also tried wrapping everything in a _redirect pathless route which would do the redirects. This works somewhat, but only on legitimate subroutes (so for instance /fubar would not redirect, it would just show a 404). Also, no redirects on the index route which is a problem. Any ideas ? Cheers!
0 Replies
No replies yetBe the first to reply to this messageJoin

Did you find this page helpful?