Skip to content

Commit 05b2c2d

Browse files
committed
fix: add defaults to setQueryData
1 parent 9d66f43 commit 05b2c2d

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

src/core/queryClient.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,10 @@ export class QueryClient {
107107
options?: SetDataOptions
108108
): TData {
109109
const parsedOptions = parseQueryArgs(queryKey)
110-
return this.queryCache.build(this, parsedOptions).setData(updater, options)
110+
const defaultedOptions = this.defaultQueryOptions(parsedOptions)
111+
return this.queryCache
112+
.build(this, defaultedOptions)
113+
.setData(updater, options)
111114
}
112115

113116
getQueryState<TData = unknown, TError = undefined>(

src/core/tests/queryCache.test.tsx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,17 @@ describe('queryCache', () => {
9191
}).not.toThrow()
9292
})
9393

94+
test('setQueryData should use default options', () => {
95+
const key = queryKey()
96+
const testClient = new QueryClient({
97+
defaultOptions: { queries: { queryKeyHashFn: () => 'someKey' } },
98+
})
99+
const testCache = testClient.getQueryCache()
100+
testClient.setQueryData(key, 'data')
101+
expect(testClient.getQueryData(key)).toBe('data')
102+
expect(testCache.find(key)).toBe(testCache.get('someKey'))
103+
})
104+
94105
// https://github.com/tannerlinsley/react-query/issues/652
95106
test('fetchQuery should not retry by default', async () => {
96107
const consoleMock = mockConsoleError()

0 commit comments

Comments
 (0)