Skip to content

fix(examples/react/infinite-query-with-max-pages): extract a typed 'fetchProjects' for 'queryFn' - #11965

Merged
sukvvon merged 1 commit into
mainfrom
fix/examples-react-infinite-query-with-max-pages-fetch-projects
Oct 11, 2026
Merged

sukvvon merged 1 commit into
mainfrom
fix/examples-react-infinite-query-with-max-pages-fetch-projects

Conversation

@sukvvon

@sukvvon sukvvon commented Oct 11, 2026 •

Copy link
Copy Markdown
Member

🎯 Changes

infinite-query-with-max-pages returns response.json() (any) from an inline queryFn, so the pages are untyped and type-checking fails on the implicit any in page.data.map((project) => ...).

  • Extract the fetch into fetchProjects, typed with a ProjectsPage response type (previousId / nextId are number | null, matching the API route), and pass it as queryFn.

✅ Checklist

  • I have followed the steps in the Contributing guide.
  • I have tested code changes locally with pnpm run test:pr, or these tests do not apply to this pull request.
  • I have followed the AI contribution policy and fully understand the code in this pull request, including any code generated with AI assistance.

🚀 Release Impact

  • This change affects published code, and I have generated a changeset.
  • This change is docs/CI/dev-only (no release).

Summary by CodeRabbit

  • Documentation
    • Updated the infinite-query example to demonstrate loading projects page by page using cursors, with a clearly defined response format.

@sukvvon sukvvon self-assigned this Oct 11, 2026
@changeset-bot

changeset-bot Bot commented Oct 11, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: b609a28

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@nx-cloud

nx-cloud Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

View your CI Pipeline Execution ↗ for commit b609a28

Command Status Duration Result
nx affected --targets=test:sherif,test:knip,tes... ✅ Succeeded 2m 28s View ↗
nx run-many --target=build --exclude=examples/*... ✅ Succeeded <1s View ↗

☁️ Nx Cloud last updated this comment at 2026-10-11 14:26:09 UTC

@github-actions

Copy link
Copy Markdown
Contributor

🚀 Changeset Version Preview

2 package(s) bumped directly, 23 bumped as dependents.

🟩 Patch bumps

Package Version Reason
@tanstack/query-core 5.104.1 → 5.104.2 Changeset
@tanstack/vue-query 5.104.1 → 5.104.2 Changeset
@tanstack/angular-query-experimental 5.104.1 → 5.104.2 Dependent
@tanstack/angular-query-persist-client 5.104.1 → 5.104.2 Dependent
@tanstack/eslint-plugin-query 5.104.1 → 5.104.2 Dependent
@tanstack/lit-query 0.2.26 → 0.2.27 Dependent
@tanstack/preact-query 5.104.1 → 5.104.2 Dependent
@tanstack/preact-query-devtools 5.104.1 → 5.104.2 Dependent
@tanstack/preact-query-persist-client 5.104.1 → 5.104.2 Dependent
@tanstack/query-async-storage-persister 5.104.1 → 5.104.2 Dependent
@tanstack/query-broadcast-client-experimental 5.104.1 → 5.104.2 Dependent
@tanstack/query-devtools 5.104.1 → 5.104.2 Dependent
@tanstack/query-persist-client-core 5.104.1 → 5.104.2 Dependent
@tanstack/query-sync-storage-persister 5.104.1 → 5.104.2 Dependent
@tanstack/react-query 5.104.1 → 5.104.2 Dependent
@tanstack/react-query-devtools 5.104.1 → 5.104.2 Dependent
@tanstack/react-query-next-experimental 5.104.1 → 5.104.2 Dependent
@tanstack/react-query-persist-client 5.104.1 → 5.104.2 Dependent
@tanstack/solid-query 5.104.1 → 5.104.2 Dependent
@tanstack/solid-query-devtools 5.104.1 → 5.104.2 Dependent
@tanstack/solid-query-persist-client 5.104.1 → 5.104.2 Dependent
@tanstack/svelte-query 6.3.1 → 6.3.2 Dependent
@tanstack/svelte-query-devtools 6.3.1 → 6.3.2 Dependent
@tanstack/svelte-query-persist-client 6.3.1 → 6.3.2 Dependent
@tanstack/vue-query-devtools 6.3.1 → 6.3.2 Dependent

@pkg-pr-new

pkg-pr-new Bot commented Oct 11, 2026

Copy link
Copy Markdown
More templates

@tanstack/angular-query-experimental

npm i https://pkg.pr.new/@tanstack/angular-query-experimental@11965

@tanstack/eslint-plugin-query

npm i https://pkg.pr.new/@tanstack/eslint-plugin-query@11965

@tanstack/lit-query

npm i https://pkg.pr.new/@tanstack/lit-query@11965

@tanstack/preact-query

npm i https://pkg.pr.new/@tanstack/preact-query@11965

@tanstack/preact-query-devtools

npm i https://pkg.pr.new/@tanstack/preact-query-devtools@11965

@tanstack/preact-query-persist-client

npm i https://pkg.pr.new/@tanstack/preact-query-persist-client@11965

@tanstack/query-async-storage-persister

npm i https://pkg.pr.new/@tanstack/query-async-storage-persister@11965

@tanstack/query-broadcast-client-experimental

npm i https://pkg.pr.new/@tanstack/query-broadcast-client-experimental@11965

@tanstack/query-core

npm i https://pkg.pr.new/@tanstack/query-core@11965

@tanstack/query-devtools

npm i https://pkg.pr.new/@tanstack/query-devtools@11965

@tanstack/query-persist-client-core

npm i https://pkg.pr.new/@tanstack/query-persist-client-core@11965

@tanstack/query-sync-storage-persister

npm i https://pkg.pr.new/@tanstack/query-sync-storage-persister@11965

@tanstack/react-query

npm i https://pkg.pr.new/@tanstack/react-query@11965

@tanstack/react-query-devtools

npm i https://pkg.pr.new/@tanstack/react-query-devtools@11965

@tanstack/react-query-next-experimental

npm i https://pkg.pr.new/@tanstack/react-query-next-experimental@11965

@tanstack/react-query-persist-client

npm i https://pkg.pr.new/@tanstack/react-query-persist-client@11965

@tanstack/solid-query

npm i https://pkg.pr.new/@tanstack/solid-query@11965

@tanstack/solid-query-devtools

npm i https://pkg.pr.new/@tanstack/solid-query-devtools@11965

@tanstack/solid-query-persist-client

npm i https://pkg.pr.new/@tanstack/solid-query-persist-client@11965

@tanstack/svelte-query

npm i https://pkg.pr.new/@tanstack/svelte-query@11965

@tanstack/svelte-query-devtools

npm i https://pkg.pr.new/@tanstack/svelte-query-devtools@11965

@tanstack/svelte-query-persist-client

npm i https://pkg.pr.new/@tanstack/svelte-query-persist-client@11965

@tanstack/vue-query

npm i https://pkg.pr.new/@tanstack/vue-query@11965

@tanstack/vue-query-devtools

npm i https://pkg.pr.new/@tanstack/vue-query-devtools@11965

commit: b609a28

@github-actions

Copy link
Copy Markdown
Contributor

size-limit report 📦

Path Size
react full 11.73 KB (0%)
react minimal 8.58 KB (0%)

@coderabbitai

coderabbitai Bot commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository: TanStack/query/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 47b30e5d-f162-405b-a8d8-c32dc948c646

📥 Commits

Reviewing files that changed from the base of the PR and between 4e21da7 and b609a28.


📒 Files selected for processing (1)
  • examples/react/infinite-query-with-max-pages/src/pages/index.tsx

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review.



📝 Walkthrough

Walkthrough

The example defines a ProjectsPage response type and a reusable fetchProjects function. The infinite query uses that function to request and parse project pages.

Changes

Projects page fetching

Layer / File(s) Summary
Fetch function and query integration
examples/react/infinite-query-with-max-pages/src/pages/index.tsx
The file defines a ProjectsPage response type and a fetchProjects function that requests a cursor-based page and parses its JSON response. useInfiniteQuery calls the new function instead of using an inline request.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~5 minutes

Change: Bug fix


Merge Risk: ⚪ Minimal · up to b609a

The fetch extraction preserves the example’s existing cursor-based behavior and matches the API response, so no user-facing regression is established. The change is ready to merge after normal checks.

Pre-merge checks | Passed 4 | Failed 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 1 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check Passed The title clearly identifies the main change: extracting a typed fetchProjects function for queryFn in the specified example.
Description check Passed The description explains the motivation and implementation, includes all required template sections, and records the checklist and release impact decisions.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.

  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Commit to this branch
  • Create a new PR


🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@sukvvon
sukvvon merged commit 11ad4e0 into main Oct 11, 2026
9 checks passed
@sukvvon
sukvvon deleted the fix/examples-react-infinite-query-with-max-pages-fetch-projects branch October 11, 2026 14:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant