zeph1665
zeph16653y ago

Query keys

Hi! I'm super new to TRPC and based on my understanding, TRPC has a thin wrapper around react query. So, I'm wondering how to include the query keys when using trpc. Thank you!
export const itineraryRouter = router({
list: publicProcedure
.input(
z.object({
userId: z.string().uuid(),
})
)
.query(async ({ input }) => {
const itineraries = await prisma.itinerary.findMany({
where: {
userId: input.userId,
},
})
return itineraries
})
})

// how I use it in my component
const { data, isLoading } = trpc.itinerary.list.useQuery(
{
userId: user?.id as string,
},

{
enabled: !!user,
}
)
export const itineraryRouter = router({
list: publicProcedure
.input(
z.object({
userId: z.string().uuid(),
})
)
.query(async ({ input }) => {
const itineraries = await prisma.itinerary.findMany({
where: {
userId: input.userId,
},
})
return itineraries
})
})

// how I use it in my component
const { data, isLoading } = trpc.itinerary.list.useQuery(
{
userId: user?.id as string,
},

{
enabled: !!user,
}
)
7 Replies
Alex / KATT 🐱
we do the query keys for you the above becomes
[['itinerary', 'list'], { where: { userId: x } }]
[['itinerary', 'list'], { where: { userId: x } }]
Unknown User
Unknown User3y ago
Message Not Public
Sign In & Join Server To View
eyalll
eyalll3y ago
is not necessary, just add the params. The queryKey is made for you.
Unknown User
Unknown User3y ago
Message Not Public
Sign In & Join Server To View
zeph1665
zeph1665OP3y ago
Thank you! Just to clarify, if i wanted to invalidate the queries, I would do this?
queryClient.invalidateQueries(['itinerary', 'list', {where: {userId: x}}
])
queryClient.invalidateQueries(['itinerary', 'list', {where: {userId: x}}
])
Alex / KATT 🐱
useContext | tRPC
useContext is a hook that gives you access to helpers that let you manage the cached data of the queries you execute via @trpc/react-query. These helpers are actually thin wrappers around @tanstack/react-query's queryClient methods. If you want more in-depth information about options and usage patterns for useContext helpers than what we provide...
zeph1665
zeph1665OP3y ago
Oh.. totally missed this part of the docs! Thanks so much!

Did you find this page helpful?