Как при скролле окна добавить кнопке класс active? React Js
Есть страница с кнопкой <button className ="totopbtn">
Как при скролле добавить ей класс active?
Пробовал так:
export default function Home() {
const [scroll, setScroll] = useState(0);
useEffect(() => {
window.addEventListener("scroll", handleScroll);
return () => window.removeEventListener("scroll", handleScroll);
}, []);
const handleScroll = () => {
setScroll(window.scrollY);
document.querySelector("totopbtn").classList.add("totopbtn--active")
};
return (
<button className='totopbtn' onClick={() => animateScroll.scrollToTop()}>to Top</button>
)
Но так при скролле ругается, что кнопка null:
Cannot read properties of null (reading 'classList') TypeError: Cannot read properties of null (reading 'classList') at handleScroll
Источник: Stack Overflow на русском