Tanstack Router + React Query + Better-auth

Hi guys, anyone using tanstack router with better-auth?
I have a question, which one you prefer for dasboard app?
  1. using useSession on every component that require user data
  2. using getSession and wrap it with react query in __root beforeLoad then put it on root context so i can access it on every component? then when i need to update user/session i invalidate the query
getSession using react-query
export async function getSessionQuery() {
  return await queryClient.ensureQueryData({
    queryKey: SESSION_QUERY_KEY,
    queryFn: async () => await getSession(),
    staleTime: 5 * 60 * 1000,
    gcTime: 10 * 60 * 1000,
  });
}

invalidate data when updating user/session
export async function refetchSessionQuery() {
  await queryClient.invalidateQueries({ queryKey: SESSION_QUERY_KEY });
  return queryClient.refetchQueries({ queryKey: SESSION_QUERY_KEY });
}
Was this page helpful?