Pagination
stableclient
Previous and next with a position readout. No page-number strip — it's the part people misclick and it stops scaling past a few dozen pages.
Default
const [page, setPage] = useState(1);
<Pagination page={page} pageCount={12} onPageChange={setPage} />Props
| Prop | Type | Default | Description |
|---|---|---|---|
| page* | number | — | Current page, 1-indexed. |
| pageCount* | number | — | Total pages. |
| onPageChange* | (page: number) => void | — | Fires on either button. |
Accessibility
The readout is aria-live="polite" — the button labels never change, so without it a press announces nothing.
Both buttons disable at the ends rather than wrapping around.