728x90
반응형
useScroll
hooks를 사용해서 스크롤을 했을때 이벤트를 발생시키기
useScroll 예시
스크롤을 하면 color가 blue에서 red로 바뀌는 이벤트
const useScroll = () => {
const [state, setState] = useState({
x: 0,
y: 0
});
const onScroll = () => {
setState({ y: window.scrollY, x: window.scrollX });
};
useEffect(() => {
window.addEventListener("scroll", onScroll);
return () => window.removeEventListener("scroll", onScroll);
}, []);
return state;
};
const App = () => {
const { y } = useScroll();
return (
<div className="App" style={{ height: "1000vh" }}>
<h1 style={{ position: "fixed", color: y > 100 ? "red" : "blue" }}>
Hello
</h1>
</div>
);
};
반응형
'프로그래밍 > React' 카테고리의 다른 글
[React] React Hooks (10) - useNotification (0) | 2023.02.07 |
---|---|
[React] React Hooks (9) - useFullscreen (0) | 2023.02.06 |
[React] React Hooks (7) - useFadeIn (0) | 2023.02.02 |
[React] React Hooks (6) - useBeforeLeave (0) | 2023.02.01 |
[React] React Hooks (5) - useRef (2) | 2023.01.31 |