-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
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
Cannot pass an optional infiniteData parameter to infiniteQueryOptions function #8132
Comments
@jimmycallin You have to use function useWrapperQuery() {
const options = infiniteQueryOptions({
initialPageParam: 1,
queryKey: ["users"],
queryFn: async ({ pageParam = 1 }) => {
const response = await fetch(`https://randomuser.me/api/?page=${pageParam}&results=10`);
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
},
getNextPageParam: (lastPage, allPages) => {
const nextPage = allPages.length + 1;
return nextPage <= 100 ? nextPage : undefined;
},
});
return useInfiniteQuery(options);
} |
I don't quite understand how this helps - what does this have to do with the issue I have with initialData? |
It seems that this error occurs because the type of Anyway, to silence this error temporarily, you can do like : const queryOptions = initialData ? infiniteQueryOptions({
queryKey: ["example"],
queryFn: async () => initialData,
initialData: () => ({ pages: [initialData], pageParams: [] }),
getNextPageParam: () => 1,
initialPageParam: 1,
}) : infiniteQueryOptions({
queryKey: ["example"],
queryFn: async () => initialData,
initialData: undefined,
getNextPageParam: () => 1,
initialPageParam: 1,
}) It does fatten up the code unnecessarily, but.. this is one of the way. |
|
The above is reflected in the PR |
Describe the bug
It doesn't seem possible to pass an optional initialData parameter to infiniteQueryOptions, while it does work for useInfiniteQuery.
Example query not working:
See playground example here.
Your minimal, reproducible example
https://www.typescriptlang.org/play/?ssl=18&ssc=1&pln=19&pc=1#code/JYWwDg9gTgLgBAbzgVwM4FMCSA7AZsbYGdARWXSgE84BfOXKCEOAIgAEYBDbVLgYwDWAeijpOfGAFoAjuSosA3ACgluZNgnAI2FBgDqUTmDAUAFEgJFgnADYARTl1oAuRHEsxr9x5wD8rpHQAD05wG3RXGChyWloASkQlODg+bV44WQpKAHkwTzS4AF53PA9SORy8rR5zJOSMioBpdEpXAG0WYNCwcJYAXQAaOuTMqgAxbFdOVEoNOFMEwoA+EqtbBy4h+tXPdZ9XDy8NzmH633nFlfM4ME4Ac3RUdsO9rkGb+-QABU5DECe4G0+vFTslXOoACbofDYdAQrb1B4wABywRgPwePz+rgWRRWAEYEckXjYMd9fqFXIS6jQ4soaCo1Bp8jo0OgDEYTFAyFlriTji43PyfP43F0whE4FEYnRaYlkqIYMgoKyMDgYURyryEKdRpRmq1AZ0QhL+kSGlkJlMZnNccsdkcfObhVwDoRdt4uKC4Oc7VckLcHgC2i7OO9A+S-sHgbTveDsFCYXDzUjUUF0Z8sZSLni4NTtiSyVmQFSEbT6UA
Steps to reproduce
Typescript error:
Expected behavior
Equivalent example using useInfiniteQuery that works fine:
How often does this bug happen?
Every time
Screenshots or Videos
No response
Platform
N/A
Tanstack Query adapter
react-query
TanStack Query version
v5.59.0
TypeScript version
v5.6.2
Additional context
No response
The text was updated successfully, but these errors were encountered: