首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在onSuccess useQuery中使用tRPC v10?

如何在onSuccess useQuery中使用tRPC v10?
EN

Stack Overflow用户
提问于 2022-10-27 19:08:44
回答 1查看 35关注 0票数 0

我正在使用t3堆栈签出trpc,并且希望在useQuery成功时更新状态。

我在前面看到打字错误,

类型'{ onSuccess:(shoppingList: ShoppingItem[]) => void;}‘的参数不能分配给'void’类型的>参数。

我在前面做这样的事,

代码语言:javascript
复制
const [items, setItems] = useState<ShoppingItem[]>([]);
  const { data: itemsData, isLoading } = trpc.item.getItem.useQuery({
    onSuccess: (shoppingList) => {
      setItems(shoppingList);
    },
  });

这是我的后端路线

代码语言:javascript
复制
getItem: publicProcedure.query(async ({ ctx }) => {
    const items = await ctx.prisma.shoppingItem.findMany();
    return items;
  })
EN

回答 1

Stack Overflow用户

发布于 2022-10-27 19:31:49

我相信您在useQuery中缺少了一个参数,您需要传递一个数组作为您的第一个参数,这将是查询键。所以它可能看起来像这样-

代码语言:javascript
复制
const [items, setItems] = useState<ShoppingItem[]>([]);
  const { data: itemsData, isLoading } = trpc.item.getItem.useQuery(['some-key'], {
    onSuccess: (shoppingList) => {
      setItems(shoppingList);
    },
  });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74227133

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档