import React, {useState} from 'react';
import {Pagination} from "react-bootstrap";
const PaginationTest = () => {
const items = Array.from({ length: 50 }, (_, i) => `Item ${i + 1}`);
const itemsPerPage = 5;
const [currentPage,setCurrentPage] = useState(1);
const totalPages = Math.ceil(items.length / itemsPerPage);
const indexOfLastItem = currentPage * itemsPerPage;
console.log(indexOfLastItem)
const indexOfFirstItem = indexOfLastItem - itemsPerPage;
console.log(indexOfFirstItem)
const currentItems = items.slice(indexOfFirstItem, indexOfLastItem);
console.log(currentItems)
const handlePageChange = (pageNumber) => {
if(pageNumber <= 0) {
pageNumber = 1;
}
else if(pageNumber > totalPages) {
pageNumber = totalPages;
}
else
setCurrentPage(pageNumber);
}
return (
<>
<div className="container mt-5">
<h2>페이징 처리 연습</h2>
<ul>
{currentItems.map((item, index) => (
<li className='list-group mb-3' key={index}>{item}</li>
))}
</ul>
<Pagination>
<Pagination.First onClick={() => handlePageChange(1)}/>
<Pagination.Prev onClick={() => handlePageChange(currentPage - 1)}/>
{Array.from({length: totalPages}, (_, i) => i + 1).map((pageNumber) => (
<Pagination.Item active={currentPage === pageNumber} key={pageNumber} onClick = {()=>handlePageChange(pageNumber)} >{pageNumber}</Pagination.Item>
))}
<Pagination.Next onClick={() => handlePageChange(currentPage + 1)} />
<Pagination.Last onClick={() => handlePageChange(totalPages)} />
</Pagination>
</div>
</>
);
};
export default PaginationTest;

