async function loader() {
const userId = searchParams.get('userId')
const teamId = searchParams.get('teamId')
const userQueryOptions = queryOptions({
queryKey: ['user', userId],
queryFn: userId ? fetch() : skipToken
})
const teamQueryOptions = queryOptions({
queryKey: ['team', teamId],
queryFn: teamId ? fetch() : skipToken
})
await queryClient.ensureQueryData(userQueryOptions)
await queryClient.ensureQueryData(teamQueryOptions)
return { userQueryOptions, teamQueryOptions }
}
function RouteComponent() {
const { userQueryOptions, teamQueryOptions } = Route.useLoaderData()
const [user, team] = useSuspenseQueries({ queries: [userQueryOptions, teamQueryOptions] })
}
async function loader() {
const userId = searchParams.get('userId')
const teamId = searchParams.get('teamId')
const userQueryOptions = queryOptions({
queryKey: ['user', userId],
queryFn: userId ? fetch() : skipToken
})
const teamQueryOptions = queryOptions({
queryKey: ['team', teamId],
queryFn: teamId ? fetch() : skipToken
})
await queryClient.ensureQueryData(userQueryOptions)
await queryClient.ensureQueryData(teamQueryOptions)
return { userQueryOptions, teamQueryOptions }
}
function RouteComponent() {
const { userQueryOptions, teamQueryOptions } = Route.useLoaderData()
const [user, team] = useSuspenseQueries({ queries: [userQueryOptions, teamQueryOptions] })
}