페이지네이션을 구현하면서 페이지만큼 페이지버튼을 만들고 싶었다.
totalPage는 서버에서 주는 data의 총 페이지수이다.
아래와 같이 구현을 했는데 fill()을 비어있는채로 뒀더니 화면상에는 잘 나오나 빌드에러가 났다. ()안에 undefined를 넣어주어도 되지만 더 깔끔하게 쓸 수 있는 방법을 찾았다.
const pagesArray = Array(totalPage).fill().map((_, i) => i + 1);
⬇
const pagesArray = Array.from({ length: totalPage }, (_, i) => i + 1);
Array.from()
Array.from() 메서드는 유사 배열 객체(array-like object)나 반복 가능한 객체(iterable object)를 얕게 복사해 새로운Array 객체를 만든다.
Array.from('foo');
// ["f", "o", "o"]
Array.from([1, 2, 3], (x) => x + x);
// [2, 4, 6]
Array.from({ length: 5 }, (v, i) => i);
// [0, 1, 2, 3, 4]