Um componente que sempre preciso utilizar durante o desenvolvimento de uma listagem então decidi deixar salvo aqui 😁
interface Props {
perPage: any;
total: any;
paginate: Function;
current: Number;
withFooter?: Boolean;
}
const Pagination: React.FC<Props> = ({
perPage,
total,
paginate,
current,
withFooter
}) => {
const pageNumbers = [];
for (let i = 1; i <= Math.ceil(total / perPage); i++) {
pageNumbers.push(i);
}
return (
<Container>
<ul>
{pageNumbers.map((page) => (
<li
key={page}
className={current === page ? "active" : ""}
onClick={() => paginate(page)}
>
{page}
</li>
))}
</ul>
{withFooter && (
<p>
Página {current} de {Math.ceil(total / perPage)}
</p>
)}
</Container>
);
};
const Pagination = ({ perPage, total, paginate, current, withFooter }) => {
const pageNumbers = [];
for (let i = 1; i <= Math.ceil(total / perPage); i++) {
pageNumbers.push(i);
}
return (
<Container>
<ul>
{pageNumbers.map((page) => (
<li
key={page}
className={current === page ? "active" : ""}
onClick={() => paginate(page)}
>
{page}
</li>
))}
</ul>
{withFooter && (
<p>
Página {current} de {Math.ceil(total / perPage)}
</p>
)}
</Container>
);
};
- Acessar terminal no diretório do projeto e inserir os comandos:
npm install
npm start
- Faça um fork deste repositório para dentro da sua conta no Github e siga os passos abaixo para rodar a aplicação de forma local 😀
- Cria uma branch com a sua feature: git checkout -b minha-feature;
- Faça commit das suas alterações: git commit -m 'feat: Minha nova feature'; Faça push para a sua branch: git push origin minha-feature.