我正在使用t3堆栈签出trpc,并且希望在useQuery成功时更新状态。
我在前面看到打字错误,
类型'{ onSuccess:(shoppingList: ShoppingItem[]) => void;}‘的参数不能分配给'void’类型的>参数。
我在前面做这样的事,
const [items, setItems] = useState<ShoppingItem[]>([]);
const { data: itemsData, isLoading } = trpc.item.getItem.useQuery({
onSuccess: (shoppingList) => {
setItems(shoppingList);
},
});这是我的后端路线
getItem: publicProcedure.query(async ({ ctx }) => {
const items = await ctx.prisma.shoppingItem.findMany();
return items;
})发布于 2022-10-27 19:31:49
我相信您在useQuery中缺少了一个参数,您需要传递一个数组作为您的第一个参数,这将是查询键。所以它可能看起来像这样-
const [items, setItems] = useState<ShoppingItem[]>([]);
const { data: itemsData, isLoading } = trpc.item.getItem.useQuery(['some-key'], {
onSuccess: (shoppingList) => {
setItems(shoppingList);
},
});https://stackoverflow.com/questions/74227133
复制相似问题