InfiniteQueryObserverBaseResult
定义于:packages/query-core/src/types.ts:1409
每个无限查询结果(infinite query result)状态所共有的属性:包括 QueryObserverBaseResult 的所有属性,以及 fetchNextPage、fetchPreviousPage 和与之相关的标志位,例如 hasNextPage 与 isFetchingNextPage。
继承自
QueryObserverBaseResult<TData,TError>
被以下类型扩展
InfiniteQueryObserverPendingResultInfiniteQueryObserverLoadingResultInfiniteQueryObserverLoadingErrorResultInfiniteQueryObserverRefetchErrorResultInfiniteQueryObserverSuccessResultInfiniteQueryObserverPlaceholderResult
类型参数
TData
TData = unknown
TError
TError = DefaultError
属性
| 属性 | 类型 | 描述 |
|---|---|---|
data |
TData | undefined |
查询最后一次成功解析的数据。 |
dataUpdatedAt |
number |
查询最近一次返回 status 状态为 "success" 的时间戳。 |
error |
TError | null |
查询的错误对象(若抛出错误)。- 默认值为 null。 |
errorUpdateCount |
number |
所有错误的总和。 |
errorUpdatedAt |
number |
查询最近一次返回 status 状态为 "error" 的时间戳。 |
failureCount |
number |
查询失败次数。- 每次查询失败时递增。- 查询成功时重置为 0。 |
failureReason |
TError | null |
查询重试的失败原因。- 查询成功时重置为 null。 |
fetchNextPage |
(options?: FetchNextPageOptions) => Promise<InfiniteQueryObserverResult<TData, TError>> |
此函数允许你拉取下一页结果。 |
fetchPreviousPage |
(options?: FetchPreviousPageOptions) => Promise<InfiniteQueryObserverResult<TData, TError>> |
此函数允许你拉取上一页结果。 |
fetchStatus |
"fetching" | "paused" | "idle" |
查询的拉取状态。- fetching:当 queryFn 正在执行时为 true,包括初始 pending 及后台重新拉取(background refetch)。- paused:查询本应拉取,但已被 paused。- idle:查询未处于拉取中。- 更多信息请参阅 Network Mode。 |
hasNextPage |
boolean |
若存在下一页可拉取(通过 getNextPageParam 选项判定),则为 true。 |
hasPreviousPage |
boolean |
若存在上一页可拉取(通过 getPreviousPageParam 选项判定),则为 true。 |
isEnabled |
boolean |
若此观察者(observer)已启用,则为 true;否则为 false。 |
isError |
boolean |
由 status 变量派生的布尔值,仅为使用便利而提供。- 若查询尝试导致错误,则为 true。 |
isFetched |
boolean |
若查询已完成拉取,则为 true。 |
isFetchedAfterMount |
boolean |
若查询在组件挂载后完成拉取,则为 true。- 此属性可用于避免显示任何先前缓存的数据。 |
isFetching |
boolean |
由 fetchStatus 变量派生的布尔值,仅为使用便利而提供。- 当 queryFn 正在执行时为 true,包括初始 pending 及后台重新拉取。 |
isFetchingNextPage |
boolean |
在使用 fetchNextPage 拉取下一页时为 true。 |
isFetchingPreviousPage |
boolean |
在使用 fetchPreviousPage 拉取上一页时为 true。 |
isFetchNextPageError |
boolean |
若拉取下一页时查询失败,则为 true。 |
isFetchPreviousPageError |
boolean |
若拉取上一页时查询失败,则为 true。 |
isInitialLoading |
boolean |
已弃用 isInitialLoading 已被 isLoading 取代,将在下一个主版本中移除。 |
isLoading |
boolean |
当查询首次拉取正在进行中时为 true。- 其语义等同于 isFetching && isPending。 |
isLoadingError |
boolean |
若首次拉取时查询失败,则为 true。 |
isPaused |
boolean |
由 fetchStatus 变量派生的布尔值,仅为使用便利而提供。- 查询本应拉取,但已被 paused。 |
isPending |
boolean |
若尚无缓存数据且尚未完成任何查询尝试,则为 pending。 |
isPlaceholderData |
boolean |
若当前显示的数据为占位数据(placeholder data),则为 true。 |
isRefetchError |
boolean |
若重新拉取(refetching)时查询失败,则为 true。 |
isRefetching |
boolean |
当后台重新拉取正在进行中时为 true,该状态 不包含 初始 pending。- 其语义等同于 isFetching && !isPending。 |
isStale |
boolean |
若缓存中的数据已被使失效(invalidated)或其年龄超过指定的 staleTime,则为 true。 |
isSuccess |
boolean |
由 status 变量派生的布尔值,仅为使用便利而提供。- 若查询已收到无错误响应且已准备好显示其数据,则为 true。 |
refetch |
(options?: RefetchOptions) => Promise<QueryObserverResult<TData, TError>> |
用于手动重新拉取查询的函数。 |
status |
"error" | "pending" | "success" |
查询的状态。- 可能取值如下:- pending:尚无缓存数据且尚未完成任何查询尝试。- error:查询尝试导致错误。- success:查询已收到无错误响应且已准备好显示其数据。 |