小编ske*_*law的帖子

如何通过反应查询仅在第一次点击时获取数据,然后在后续点击时禁用重新获取

我在实现表单时遇到一个问题,其中select 中使用的数据(通过 React-query 从数据库检索)只能在单击 input 时检索一次,并且后续单击不应导致 refetch

如何以干净的方式做到这一点?

钩:

export const useUnitOfMeasureSelectData = ({
  queryPageIndex,
  queryPageSize,
  queryFilters,
  enabled,
  refetchOnWindowFocus,
}) => {
  return useQuery(
    ["unitofmeasure-list", queryPageIndex, queryPageSize, queryFilters],
    () => fetchItemData(queryPageIndex, queryPageSize, queryFilters),
    {
      keepPreviousData: true,
      staleTime: 60000,
      enabled,
      refetchOnWindowFocus,
      select: (data) => {
        const categories = data.data.results.map((obj) => ({
          value: obj.id,
          label: obj.name,
        }));
        return categories;
      },
    }
  );
};
Run Code Online (Sandbox Code Playgroud)

onClick={()=>refetch()}在每次点击时调用重新获取数据的组件中。

  const {
    data: unitOfMeasureSelectData = [],
    refetch: refetchUnitOfMeasureSelectData,
  } = useUnitOfMeasureSelectData({
    queryPageIndex: queryPageIndex, …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs axios react-query

3
推荐指数
1
解决办法
4091
查看次数

标签 统计

axios ×1

javascript ×1

react-query ×1

reactjs ×1