How do I skip queries when using convex with tanstack query.
I am passing a conditional boardId but only want the query to run if and only if the boardId is present.
I have tried all these but none of them work:
Thank you in advance
I have tried all these but none of them work:
import { convexQuery, useConvexMutation } from '@convex-dev/react-query';
import { useQuery, useMutation, skipToken } from '@tanstack/react-query';
// Trial one
export const useGetBoardById = (id?: Id<'boards'>) => {
return useQuery(
convexQuery(api.frontend.boards.getBoardById, id ? { id } : 'skip'),
);
};
// Trial two.
export const useGetBoardById = (id?: Id<'boards'>) => {
return useQuery({
queryFn: id
? convexQuery(api.frontend.boards.getBoardById, { id }).queryFn
: skipToken,
queryKey: convexQuery(api.frontend.boards.getBoardById, { id: id! })
.queryKey,
staleTime: convexQuery(api.frontend.boards.getBoardById, { id: id! })
.staleTime,
enabled: !!id,
});
};
//Trial three
export const useGetBoardById = (id?: Id<'boards'>) => {
return useQuery({
...convexQuery(api.frontend.boards.getBoardById, { id: id! }),
enabled: !!id,
});
};import { convexQuery, useConvexMutation } from '@convex-dev/react-query';
import { useQuery, useMutation, skipToken } from '@tanstack/react-query';
// Trial one
export const useGetBoardById = (id?: Id<'boards'>) => {
return useQuery(
convexQuery(api.frontend.boards.getBoardById, id ? { id } : 'skip'),
);
};
// Trial two.
export const useGetBoardById = (id?: Id<'boards'>) => {
return useQuery({
queryFn: id
? convexQuery(api.frontend.boards.getBoardById, { id }).queryFn
: skipToken,
queryKey: convexQuery(api.frontend.boards.getBoardById, { id: id! })
.queryKey,
staleTime: convexQuery(api.frontend.boards.getBoardById, { id: id! })
.staleTime,
enabled: !!id,
});
};
//Trial three
export const useGetBoardById = (id?: Id<'boards'>) => {
return useQuery({
...convexQuery(api.frontend.boards.getBoardById, { id: id! }),
enabled: !!id,
});
};Thank you in advance
