【问题标题】:how to put useQuery in react-query in conditionally using typescript如何使用打字稿有条件地将useQuery放入react-query中
【发布时间】:2021-09-08 11:55:02
【问题描述】:

我正在使用来自react-queryuseQuery 来获取我只希望查询在某些条件下运行的数据。我该如何使用它? 以下是我使用useQuery的代码

  const query = useQuery<APIResponse, Error>(
    [{query: creatGQL, variables: variables}],
    async () => {
      const result: APIResponse = await ucFetch(apiUrl, {
        method: 'POST',
        headers: {'Content-Type': 'application/json'},
        body: JSON.stringify({
          query: creatGQL,
          variables: variables,
        }),
      });
      return result;
    }  );
  return query;

【问题讨论】:

标签: reactjs typescript react-query


【解决方案1】:

可以使用enabled 选项禁用/启用查询。如果是false,查询将运行:

useQuery(key, queryFn, { enabled: myCondition }

条件可以是静态的,也可以由状态/道具驱动 - 任何真正的布尔值。

【讨论】:

  • 我虽然启用参数只是为了确定是否应该在第一次组件渲染后运行查询..它不适用于像一旦组件已经渲染的情况,但不适用于组件渲染后 useState 变量更改的情况
  • 不,事实并非如此。 enabled 可以随意启用或禁用查询。
猜你喜欢
  • 2022-10-13
  • 1970-01-01
  • 2021-10-14
  • 2022-09-27
  • 2018-05-17
  • 2020-08-11
  • 1970-01-01
  • 2021-08-16
  • 2022-01-22
相关资源
最近更新 更多