We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The following yields a false-positive eslint violation:
useQuery({ queryKey: [{ path: path.split('/') }], queryFn: () => api.get(path), })
error with:
ESLint: The following dependencies are missing in your queryKey: path(@tanstack/query/exhaustive-deps)
failing test case attached
Here's a failing test case:
{ name: 'should work with function calls', code: `useQuery({ queryKey: [{ path: path.split('/') }], queryFn: () => api.get(path) })`, },
Ideally, I would like to see no error here, because path winds up in the queryKey. Not sure if it's possible though
path
queryKey
None
No response
all
5.29.2
5.3.3
The text was updated successfully, but these errors were encountered:
@Newbie012 is there a way to make this work ?
Sorry, something went wrong.
Yes (Stackblitz). I had a similar issue where I had to cache signed S3 (AWS) URLs. I ended up doing something (roughly) like:
import { useQuery } from '@tanstack/react-query'; class QueryableValue<T> { constructor(private value: T, private map: (v: T) => string) {} toJSON = () => this.map(this.value); toString = () => this.value; valueOf = () => this.value; } const path = new QueryableValue( 'https://signed-url.com?Expiration=123', (x) => x.split('?Expiration')[0] ); export const Test = () => { const query = useQuery({ queryKey: [path], queryFn: () => path.toString(), }); return <div>{query.data}</div>; };
so toJSON will be called by query?
Correct, since query uses JSON.stringify which uses .toJSON.
JSON.stringify
.toJSON
No branches or pull requests
Describe the bug
The following yields a false-positive eslint violation:
error with:
Your minimal, reproducible example
failing test case attached
Steps to reproduce
Here's a failing test case:
Expected behavior
Ideally, I would like to see no error here, because
path
winds up in thequeryKey
. Not sure if it's possible thoughHow often does this bug happen?
None
Screenshots or Videos
No response
Platform
all
Tanstack Query adapter
None
TanStack Query version
5.29.2
TypeScript version
5.3.3
Additional context
No response
The text was updated successfully, but these errors were encountered: