const [offset, setOffset] = useState(0);
const [data, setData] = useState([]);
const [perPage] = useState(10);
const [pageCount, setPageCount] = useState(0)
const getData = async() => {
const res = await axios.get(https://jsonplaceholder.typicode.com/photos
)
const data = res.data;
const slice = data.slice(offset, offset + perPage)
const postData = slice.map(pd =>
{pd.title}
)
setData(postData)
setPageCount(Math.ceil(data.length / perPage))
}
const handlePageClick = (e) => {
const selectedPage = e.selected;
setOffset(selectedPage + 1)
};
useEffect(() => {
getData()
}, [offset])
return (
{data}
<ReactPaginate
previousLabel={"prev"}
nextLabel={"next"}
breakLabel={"..."}
breakClassName={"break-me"}
pageCount={pageCount}
marginPagesDisplayed={2}
pageRangeDisplayed={5}
onPageChange={handlePageClick}
containerClassName={"pagination"}
subContainerClassName={"pages pagination"}
activeClassName={"active"}/>
);