T
TanStack8mo ago
metropolitan-bronze

Hooks in Router Context/Preventing multiple server function requests in one page load

Hi, I've made an AuthContext that uses a getUser server function to retrieve the authenticated user and pass it to the client so it can be used in a useAuth hook. Currently, to protect routes and redirect away if unauthenticated, I request this getUser server function again in the root route to add the user object to the route context, so I can check if it exists in beforeLoad and redirect if it does not. The problem with this setup is that it makes the request to the getUser server function twice in one page load, one to add it to the router context, and another in the AuthContext. I saw that with TanStack Router, one way to get around this would be to use the RouterProvider so I can use the AuthContext in the router context as well, but I see that RouterProvider is not available in TanStack Start. Am I overthinking/overcomplicating things or is there another way to add the user object to the router context without a second request to my server function?
1 Reply
rare-sapphire
rare-sapphire8mo ago
can you please create a minimal complete example by forking one of the existing start examples to showcase what you are trying to do?

Did you find this page helpful?