返回

reactjs——如何在迭代数据数组时使用react query中的{useQuery}

发布时间:2022-02-22 01:34:29 286
# ios# 数据

我正在尝试将react查询集成到我的react项目中。我有一个定制的钩子-useBundles它从GraphQl端点获取数据,如下所示-

function useBundles() {

  const { data, status, isSuccess } = useQuery(
    'SaleBundles',
    async () => await request(endpoint, gql`query {${saleQuery}}`),
  );

  return { data, status, isSuccess };
}

我在组件中使用返回值,如下所示const { data, status, isSuccess } = useBundles();效果非常好。

现在,我想做的是,对于数据中的每一项,我想调用另一个端点(这次是REST端点),我有一个单独的异步函数来调用它getData(data: Array)它使用async await从我的REST端点获取数据。

我可以打个电话getData在里面useBundles将数据作为参数传递给它。但是自从getData是异步的,这是必须使用的await使用它(我不能这么做,因为我不能将钩子定义为异步)。

作为替代,我尽量不使用getData在里面useBundles但是像这样直接使用axios调用端点-data.forEach((item) => useQuery("some-unique-key", axios.get()))

这给了我一个错误useQuery不能在循环中使用。

我在这一点上有点纠结于如何继续。非常感谢您的帮助。谢谢

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(2)
按点赞数排序
用户头像