我有一个滚动事件侦听器,我想根据页面URL删除它,如何在钩子组件中使用它呢?
useEffect(() => {
function handleScrollEvent() {
if (window.scrollY > 100) {
setHeaderIsVisible(true);
} else {
setHeaderIsVisible(false);
}
}
if (props.location.pathname === "/") {
window.addEventListener("scroll", handleScrollEvent, true);
} else {
window.removeEventListener("scroll", handleScrollEvent, true);
}
}, [props.location.pathname]);
我应该在哪里定义handleScrollEvent以便将其从侦听器中删除?
答案 0 :(得分:4)
您需要做的是每次添加它,也将其删除。
:old
发生更改时,它将删除事件监听器。
props.location.pathname