데스크탑 가로스크롤이 필요한 UI에서 가로스크롤이 있다는 것을 알려주기 위함과 사용자 편의성을 위하여 스크롤 버튼을 사용한다.
이를 구현해보고자 하였을 때 x-overflow: scroll;인 태그안에서 현재 x위치값을 파악하여 원하는 만큼 이동할 수 있었으면 하였다.
useRef로 엘리멘트를 가져와 함수를 동작하게 하는 방향으로 구현해야겠다고 생각했다.
const handleNextButtonClick = (nextType: 'prev' | 'next') => {
if (!horizontalScrollRef.current) return;
if (nextType === 'prev') {
horizontalScrollRef.current.scrollTo({
left: horizontalScrollRef.current.scrollLeft - horizontalScrollRef.current.offsetWidth,
behavior: 'smooth',
});
} else {
horizontalScrollRef.current.scrollTo({
left: horizontalScrollRef.current.scrollLeft + horizontalScrollRef.current.offsetWidth,
behavior: 'smooth',
});
}
};
화살표 버튼의 동작 함수이다.
'프론트엔드 > React | Next' 카테고리의 다른 글
SSR 서비스에서 반응형 웹 개발 이야기(SSR이 필요한 이유) (0) | 2022.10.01 |
---|---|
nextjs 다국어, 로컬라이제이션(localization) 지원하기 next-i18next 사용 (0) | 2022.08.28 |
Nextjs에서 React Testing Library + Mobx 사용하기 (0) | 2022.08.15 |
nextjs에서 원하는 키워드로 구글검색 상위노출시키기 (0) | 2022.08.07 |
React 웹 계산기 만들기 (0) | 2020.05.13 |