From 6b448d8afc64ad0f03630a8bd7e0ff245fdb2b59 Mon Sep 17 00:00:00 2001 From: TkDodo Date: Tue, 20 Jan 2026 11:19:20 +0100 Subject: [PATCH 1/2] feat(core): add queryKey to QueryObserverResult --- packages/query-core/src/queryObserver.ts | 1 + packages/query-core/src/types.ts | 4 ++++ packages/react-query/src/__tests__/useQuery.test.tsx | 7 +++++-- packages/solid-query/src/__tests__/useQuery.test.tsx | 5 +++++ 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/packages/query-core/src/queryObserver.ts b/packages/query-core/src/queryObserver.ts index 463407a073..9578a43dfa 100644 --- a/packages/query-core/src/queryObserver.ts +++ b/packages/query-core/src/queryObserver.ts @@ -586,6 +586,7 @@ export class QueryObserver< refetch: this.refetch, promise: this.#currentThenable, isEnabled: resolveEnabled(options.enabled, query) !== false, + queryKey: query.queryKey, } const nextResult = result as QueryObserverResult diff --git a/packages/query-core/src/types.ts b/packages/query-core/src/types.ts index 4f3f4caed2..b805245962 100644 --- a/packages/query-core/src/types.ts +++ b/packages/query-core/src/types.ts @@ -625,6 +625,10 @@ export interface QueryObserverBaseResult< TData = unknown, TError = DefaultError, > { + /** + * The query key used by the query. + */ + queryKey: QueryKey /** * The last successfully resolved data for the query. */ diff --git a/packages/react-query/src/__tests__/useQuery.test.tsx b/packages/react-query/src/__tests__/useQuery.test.tsx index 3c7f7562a8..d9552fff9e 100644 --- a/packages/react-query/src/__tests__/useQuery.test.tsx +++ b/packages/react-query/src/__tests__/useQuery.test.tsx @@ -100,6 +100,7 @@ describe('useQuery', () => { expect(states.length).toEqual(2) expect(states[0]).toEqual({ + queryKey: key, data: undefined, dataUpdatedAt: 0, error: null, @@ -129,6 +130,7 @@ describe('useQuery', () => { }) expect(states[1]).toEqual({ + queryKey: key, data: 'test', dataUpdatedAt: expect.any(Number), error: null, @@ -192,6 +194,7 @@ describe('useQuery', () => { rendered.getByText('Status: error') expect(states[0]).toEqual({ + queryKey: key, data: undefined, dataUpdatedAt: 0, error: null, @@ -221,6 +224,7 @@ describe('useQuery', () => { }) expect(states[1]).toEqual({ + queryKey: key, data: undefined, dataUpdatedAt: 0, error: null, @@ -250,6 +254,7 @@ describe('useQuery', () => { }) expect(states[2]).toEqual({ + queryKey: key, data: undefined, dataUpdatedAt: 0, error: new Error('rejected #2'), @@ -6788,7 +6793,6 @@ describe('useQuery', () => { let fetchCount = 0 const queryFn = vi.fn().mockImplementation(() => { fetchCount++ - console.log(`Fetching... (attempt ${fetchCount})`) return Promise.reject(new Error('Simulated 500 error')) }) @@ -6906,7 +6910,6 @@ describe('useQuery', () => { let fetchCount = 0 const queryFn = vi.fn().mockImplementation(() => { fetchCount++ - console.log(`Fetching... (attempt ${fetchCount})`) return Promise.reject(new Error('Simulated 500 error')) }) diff --git a/packages/solid-query/src/__tests__/useQuery.test.tsx b/packages/solid-query/src/__tests__/useQuery.test.tsx index 745621d171..43931b22fd 100644 --- a/packages/solid-query/src/__tests__/useQuery.test.tsx +++ b/packages/solid-query/src/__tests__/useQuery.test.tsx @@ -289,6 +289,7 @@ describe('useQuery', () => { expect(states.length).toEqual(2) expect(states[0]).toEqual({ + queryKey: key, data: undefined, dataUpdatedAt: 0, error: null, @@ -318,6 +319,7 @@ describe('useQuery', () => { }) expect(states[1]).toEqual({ + queryKey: key, data: 'test', dataUpdatedAt: expect.any(Number), error: null, @@ -384,6 +386,7 @@ describe('useQuery', () => { expect(rendered.getByText('Status: error')).toBeInTheDocument() expect(states[0]).toEqual({ + queryKey: key, data: undefined, dataUpdatedAt: 0, error: null, @@ -413,6 +416,7 @@ describe('useQuery', () => { }) expect(states[1]).toEqual({ + queryKey: key, data: undefined, dataUpdatedAt: 0, error: null, @@ -442,6 +446,7 @@ describe('useQuery', () => { }) expect(states[2]).toEqual({ + queryKey: key, data: undefined, dataUpdatedAt: 0, error: new Error('rejected'), From c006582144d7661dd2ee26cf2971011baecfaed0 Mon Sep 17 00:00:00 2001 From: Dominik Dorfmeister Date: Tue, 20 Jan 2026 11:20:34 +0100 Subject: [PATCH 2/2] Add queryKey to QueryObserverResult in core --- .changeset/thick-mangos-remain.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .changeset/thick-mangos-remain.md diff --git a/.changeset/thick-mangos-remain.md b/.changeset/thick-mangos-remain.md new file mode 100644 index 0000000000..15c1335420 --- /dev/null +++ b/.changeset/thick-mangos-remain.md @@ -0,0 +1,7 @@ +--- +"@tanstack/query-core": patch +"@tanstack/react-query": patch +"@tanstack/solid-query": patch +--- + +feat(core): add queryKey to QueryObserverResult