I wanna make the header invisible when i scroll down and when i scroll up make it visible
const [showHeaderState, setShowHeaderState] = useState(true);
const prevScrollpos = useRef(window.pageYOffset);
const handleScroll = () => {
const currentScrollPos = window.pageYOffset;
prevScrollpos.current < currentScrollPos
? setShowHeaderState(false)
: setShowHeaderState(true);
prevScrollpos.current = currentScrollPos;
};
useEffect(() => {
window.addEventListener('scroll', handleScroll);
return () => window.removeEventListener('scroll', handleScroll);
}, []);
console.log(showHeaderState);
this code is working
but when i log rendering state is show that is the component rendered two times
on scroll up log true two times
on scroll down log false two times
any solution ??