Frontend/CODE
[CODE] useResFetchCount [9/6 study]
동혁이
2024. 9. 6. 16:36
useResFetchCount - 스크린 사이즈에 맞춰서 데이터를 다르게 불러와야해서 작성한 코드입니다
프로젝트 하면서 작성한 코드 기록하는 게시물입니다.
사용법
const fetchSize = useResFetchCount({ mobileSize: 4, tabletSize: 9, desktopSize: 8 });
import { useEffect, useState } from 'react';
interface FetchSizeOptions {
desktopSize: number;
mobileSize: number;
tabletSize: number;
}
const useResFetchCount = ({ mobileSize, tabletSize, desktopSize }: FetchSizeOptions) => {
const [fetchSize, setFetchSize] = useState<number>(9);
useEffect(() => {
const updateFetchSize = () => {
if (window.innerWidth < 424) {
setFetchSize(mobileSize);
} else if (window.innerWidth < 768) {
setFetchSize(tabletSize);
} else {
setFetchSize(desktopSize);
}
};
updateFetchSize();
window.addEventListener('resize', updateFetchSize);
return () => {
window.removeEventListener('resize', updateFetchSize);
};
}, [mobileSize, tabletSize, desktopSize]);
return fetchSize;
};
export default useResFetchCount;