The Logic
We need to render a list of page numbers, plus "Prev" and "Next".
function Pagination({ currentPage, totalPages, onPageChange }) {
const pages = Array.from({ length: totalPages }, (_, i) => i + 1);
return (
<div className="flex items-center space-x-2">
<button
disabled={currentPage === 1}
onClick={() => onPageChange(currentPage - 1)}
className="px-3 py-1 border rounded disabled:opacity-50"
>
Prev
</button>
{pages.map(page => (
<button
key={page}
onClick={() => onPageChange(page)}
className={`px-3 py-1 border rounded ${
currentPage === page ? 'bg-blue-500 text-white' : 'bg-white'
}`}
>
{page}
</button>
))}
<button
disabled={currentPage === totalPages}
onClick={() => onPageChange(currentPage + 1)}
className="px-3 py-1 border rounded disabled:opacity-50"
>
Next
</button>
</div>
);
}
Sponsored Content
Google AdSense Placeholder
CONTENT SLOT