Infinite scroll
For feeds — chat, social, activity. User scrolls; new items load. Best for chronological browsing.
Paginated table
For data tables — admin panels, reports. User clicks Next/Prev. Best for known size and exact navigation.
Convex pagination
Convex provides cursor-based pagination viapaginate:
convex/tasks.ts
Client — infinite scroll
loadMore when it enters the viewport.
Client — paginated table
Maintain page state in URL:_creationTime cursors plus client-side offset.
Tips
Related
Convex queries
The query layer.
Search patterns
Search as an alternative to pagination.
Performance issues
Pagination as a fix.
