๐ ์ ์คํฌ๋กค ํ์์ผ๋ก?
์ฌ๋ฌ ๋ฐฉ์์ ๊ณ ์ํด๋ดค๋๋ฐ, ํ ๋ทฐ์ ํ๋ ๋๋ 2๊ฐ ์ด์์ ์ปจํ
์ด๋๋ฅผ ๋์ฐ๋ ๊ฒฝ์ฐ๋ฅผ ๋๋์ง ์๊ณ
๊ฐ์ฅ ํธํ๊ฒ ๊ตฌํํ ์ ์์ ๊ฒ ๊ฐ์๋ค.
๐ ๊ตฌํ ๋ฐฉ์
const currentRef = useRef(null);
const next = (ref) => {
const offsetX = ref.current.offsetWidth;
ref.current.scrollBy(offsetX, 0);
};
<button onClick={() => next(currentRef)}></button>
<div ref={currentRef}/>
React Hook์ useRef๋ฅผ ์ด์ฉํ์ฌ ์บ๋ฌ์
์ ์ฒด ์์ญ์ ์ ์ฅํ๊ณ ,
๋ฒํผ์ ๋ง๋ค์ด offsetWidth๋ก ํ์ฌ ๋ณด์ด๋ ์์ญ์ width๋ฅผ ์ป์ด์
๋ฒํผ์ ๋๋ฅด๋ฉด ๊ทธ ๋งํผ์ +๋ก ์ฎ๊ธฐ๋ฉด ์์ฑ!
(css๋ ์๋ตํ์ง๋ง scrollX๋ hidden์ผ๋ก ๋ณ๊ฒฝํด์ค์ผ ์ํ๋ ๋๋์ด ์ฐ๋ค)
์ ๋ง ์ฝ๊ณ ๊ฐ๋จํ๊ธฐ ๋๋ฌธ์ ์ ๋ง ๋ํ
์ผํ(๋ทฐ์ ์ํ๋ ๊ฐ์๋งํผ๋ง ๋ฑ๋ฑ ๋์ด์ ๋ณด์ฌ์ค์ผ ํ๋ ๋ฑ)
์๊ตฌ์ฌํญ์ด ํ์ํ ๊ฒ ์๋๋ผ๋ฉด ์ด ๋ฐฉ์์ผ๋ก ๊ฐ๋จํ ์ฌ๋ผ์ด๋๋ฅผ ๊ตฌํํ๊ธฐ ์ข์ ๊ฒ ๊ฐ๋ค.