Skip to content

Commit 558878c

Browse files
feat: expose errorUpdateCount on useQuery (TanStack#3532)
* expose errorUpdateCount on useQuery * refactored test slightly * Update docs/src/pages/reference/useQuery.md as suggested Co-authored-by: Dominik Dorfmeister <[email protected]> * removed the first click as we fetch on default, * prettier * added errorUpdateCount to failed tests. * prettier Co-authored-by: Dominik Dorfmeister <[email protected]>
1 parent 48ec8cf commit 558878c

File tree

5 files changed

+11
-0
lines changed

5 files changed

+11
-0
lines changed

docs/src/pages/reference/useQuery.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,8 @@ const result = useQuery({
238238
- The failure count for the query.
239239
- Incremented every time the query fails.
240240
- Reset to `0` when the query succeeds.
241+
- `errorUpdateCount: number`
242+
- The sum of all errors.
241243
- `refetch: (options: { throwOnError: boolean, cancelRefetch: boolean }) => Promise<UseQueryResult>`
242244
- A function to manually refetch the query.
243245
- If the query errors, the error will only be logged. If you want an error to be thrown, pass the `throwOnError: true` option

src/core/queryObserver.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -594,6 +594,7 @@ export class QueryObserver<
594594
error,
595595
errorUpdatedAt,
596596
failureCount: state.fetchFailureCount,
597+
errorUpdateCount: state.errorUpdateCount,
597598
isFetched: state.dataUpdateCount > 0 || state.errorUpdateCount > 0,
598599
isFetchedAfterMount:
599600
state.dataUpdateCount > queryInitialState.dataUpdateCount ||

src/core/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -328,6 +328,7 @@ export interface QueryObserverBaseResult<TData = unknown, TError = unknown> {
328328
error: TError | null
329329
errorUpdatedAt: number
330330
failureCount: number
331+
errorUpdateCount: number
331332
isError: boolean
332333
isFetched: boolean
333334
isFetchedAfterMount: boolean

src/react/tests/useInfiniteQuery.test.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ describe('useInfiniteQuery', () => {
7373
error: null,
7474
errorUpdatedAt: 0,
7575
failureCount: 0,
76+
errorUpdateCount: 0,
7677
fetchNextPage: expect.any(Function),
7778
fetchPreviousPage: expect.any(Function),
7879
hasNextPage: undefined,
@@ -103,6 +104,7 @@ describe('useInfiniteQuery', () => {
103104
error: null,
104105
errorUpdatedAt: 0,
105106
failureCount: 0,
107+
errorUpdateCount: 0,
106108
fetchNextPage: expect.any(Function),
107109
fetchPreviousPage: expect.any(Function),
108110
hasNextPage: true,

src/react/tests/useQuery.test.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,7 @@ describe('useQuery', () => {
169169
error: null,
170170
errorUpdatedAt: 0,
171171
failureCount: 0,
172+
errorUpdateCount: 0,
172173
isError: false,
173174
isFetched: false,
174175
isFetchedAfterMount: false,
@@ -193,6 +194,7 @@ describe('useQuery', () => {
193194
error: null,
194195
errorUpdatedAt: 0,
195196
failureCount: 0,
197+
errorUpdateCount: 0,
196198
isError: false,
197199
isFetched: true,
198200
isFetchedAfterMount: true,
@@ -247,6 +249,7 @@ describe('useQuery', () => {
247249
error: null,
248250
errorUpdatedAt: 0,
249251
failureCount: 0,
252+
errorUpdateCount: 0,
250253
isError: false,
251254
isFetched: false,
252255
isFetchedAfterMount: false,
@@ -271,6 +274,7 @@ describe('useQuery', () => {
271274
error: null,
272275
errorUpdatedAt: 0,
273276
failureCount: 1,
277+
errorUpdateCount: 0,
274278
isError: false,
275279
isFetched: false,
276280
isFetchedAfterMount: false,
@@ -295,6 +299,7 @@ describe('useQuery', () => {
295299
error: 'rejected',
296300
errorUpdatedAt: expect.any(Number),
297301
failureCount: 2,
302+
errorUpdateCount: 1,
298303
isError: true,
299304
isFetched: true,
300305
isFetchedAfterMount: true,

0 commit comments

Comments
 (0)