Currently, I have this custom hook to detect whether the user has scroll down/up the page entire page, but how can I implement it to detect scroll down and up inside a div element??
By using a ref? Any suggestion?
export const useScrollDirection = () => {
const [scrollDirection, setScrollDirection] = useState(null);
const [prevOffset, setPrevOffset] = useState(0);
console.log("prevOffset", prevOffset);
const toggleScrollDirection = () => {
let scrollY = window.scrollY;
console.log("scrollY", scrollY);
if (scrollY === 0) {
setScrollDirection(null);
}
if (scrollY > prevOffset) {
setScrollDirection("down");
} else if (scrollY < prevOffset) {
setScrollDirection("up");
}
setPrevOffset(scrollY);
};
useEffect(() => {
window.addEventListener("scroll", toggleScrollDirection);
return () => {
window.removeEventListener("scroll", toggleScrollDirection);
};
});
return scrollDirection;
};