반응형 디자인을 위한 react-responsive
yarn add -D react-responsive
usePage.jsximport React, { useRef, useState } from 'react';
import { useMediaQuery } from 'react-responsive';
export default function usePage() {
const [currentPage, setCurrentPage] = useState(1);
let pageSize = 20;
const is4xl = useMediaQuery({ maxWidth: 1699 });
const is3xl = useMediaQuery({ maxWidth: 1599 });
const is2xl = useMediaQuery({ maxWidth: 1299 });
const ismd = useMediaQuery({ maxWidth: 767 });
const issm = useMediaQuery({ maxWidth: 575 });
if (issm) { // size <= 575
pageSize = 5;
} else if (ismd) { // 575 < size <= 767
pageSize = 6;
} else if (is2xl) { // 1299 < size <= 1599
pageSize = 9;
} else if (is3xl) { // 1599 < size <= 1699
pageSize = 12;
} else if (is4xl) { // 1699 <= size
pageSize = 15;
}
return {
pageSize,
setCurrentPage,
currentPage,
};
}