CtrlK
BlogDocsLog inGet started
Tessl Logo

pagination

Paginate with rowPaginationFeature and paginatedRowModel or manualPagination. Load for pageIndex/pageSize state, rowCount/pageCount, unknown next-page limits, already-paginated server data, or autoResetPageIndex surprises.

65

Quality

80%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./packages/table-core/skills/pagination/SKILL.md
SKILL.md
Quality
Evals
Security

This skill builds on core, table-features, and client-vs-server. Choose client slicing or server pages, never both accidentally.

Setup

import {
  createPaginatedRowModel,
  rowPaginationFeature,
  tableFeatures,
} from '@tanstack/table-core'

export const features = tableFeatures({
  rowPaginationFeature,
  paginatedRowModel: createPaginatedRowModel(),
})
export const initialState = { pagination: { pageIndex: 0, pageSize: 25 } }

Core Patterns

const serverOptions = { manualPagination: true, rowCount: response.total }

Pass one already-processed page and either rowCount or pageCount.

Common Mistakes

[CRITICAL] Expecting manual mode to slice

Wrong: const options = { data: allRows, manualPagination: true }

Correct: const options = { data: requestedPageRows, manualPagination: true, rowCount: totalRows }

Manual pagination trusts the provided data as the current page.

Source: https://github.com/TanStack/table/issues/4917

[HIGH] Omitting the server total

Wrong: const options = { data: pageRows, manualPagination: true }

Correct: const options = { data: pageRows, manualPagination: true, rowCount: 1234 }

Without a count, last-page and next-page availability cannot reflect the server dataset.

Source: packages/table-core/src/features/row-pagination/rowPaginationFeature.types.ts

[HIGH] Fighting automatic page resets

Wrong: onPaginationChange: setPagination

Correct: const options = { onPaginationChange: setPagination, autoResetPageIndex: false }

Client data and processing changes may reset page index; configure the policy when product state must retain it.

Source: docs/framework/react/guide/pagination.md#auto-reset-page-index

API Discovery

Inspect node_modules/@tanstack/table-core/dist/features/row-pagination/ for reset rules, count calculation, and navigation APIs.

Repository
TanStack/table
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.