Skip to main content

useQuery

const {
data,
dataUpdatedAt,
error,
errorUpdatedAt,
failureCount,
failureReason,
isError,
isFetched,
isFetchedAfterMount,
isFetching,
isPaused,
isLoading,
isLoadingError,
isPlaceholderData,
isPreviousData,
isRefetchError,
isRefetching,
isInitialLoading,
isStale,
isSuccess,
refetch,
remove,
status,
fetchStatus,
} = useQuery({
queryKey,
queryFn,
cacheTime,
enabled,
networkMode,
initialData,
initialDataUpdatedAt,
keepPreviousData,
meta,
notifyOnChangeProps,
onError,
onSettled,
onSuccess,
placeholderData,
queryKeyHashFn,
refetchInterval,
refetchIntervalInBackground,
refetchOnMount,
refetchOnReconnect,
refetchOnWindowFocus,
retry,
retryOnMount,
retryDelay,
select,
staleTime,
structuralSharing,
suspense,
useErrorBoundary,
});

用于在组件中获取数据的 React Query 钩子函数,是 React Query 最常用的钩子函数之一。使用 useQuery,可以获取一个具有以下属性的对象:

  • data:最新成功解析的数据。
  • dataUpdatedAt:状态为 "success" 的最新时间戳。
  • error:如果请求出错,则为错误对象,否则为 null
  • errorUpdatedAt:状态为 "error" 的最新时间戳。
  • failureCount:该查询失败的次数,从第一次查询开始算起。
  • failureReason:包含上一次请求失败的原因的错误对象。
  • isError:一个布尔值,表示查询是否已失败。
  • isFetched:一个布尔值,表示查询是否已获取到数据。
  • isFetchedAfterMount:一个布尔值,表示查询是否已在组件挂载后获取到数据。
  • isFetching:一个布尔值,表示查询当前是否正在获取数据。
  • isPaused:一个布尔值,表示查询是否已暂停。
  • isLoading:一个布尔值,表示查询是否正在加载数据,包括查询的初始加载和后台刷新。
  • isLoadingError:一个布尔值,表示查询是否在第一次获取数据时失败。
  • isPlaceholderData:一个布尔值,表示数据是否为占位符数据。
  • isPreviousData:一个布尔值,表示是否在查询键更改时返回上一个查询的数据。
  • isRefetchError:一个布尔值,表示在重新获取数据时是否出错。
  • isRefetching:一个布尔值,表示查询是否正在重新获取数据。
  • isInitialLoading:一个布尔值,表示是否正在进行首次加载。
  • isStale:一个布尔值,表示数据是否已过期或是否已超过指定的 staleTime
  • isSuccess:一个布尔值,表示查询是否已成功获取到数据。
  • refetch:一个回调函数,用于手动触发查询的重新获取数据。
  • remove:一个回调函数,用于从缓存中删除查询