1 回答

TA贡献1890条经验 获得超9个赞
在第一个useEffect依赖数组中是空的,这意味着如果您在其中使用任何状态变量,它的值不会在效果中改变
正如我所看到的,您正在使用scrollNumber设置的下一个状态setScrollNumber(scrollNumber + 1);和值scrollNumber不会改变内部效果,因为依赖项数组为空
因此,如果您对效果进行了任何更改,您必须告诉反应重新初始化效果scrollNumber
所以scrollNumber作为一个依赖项会为你工作
useEffect(() => {
...
function scrollHandler(){
if(containerRef.current?.getBoundingClientRect().bottom === window.innerHeight) {
console.log("Salam", scrollNumber);
setScrollNumber(scrollNumber + 1);
}
}
window.addEventListener("scroll", scrollHandler);
return () => window.removeEventListener("scroll", scrollHandler);
.....
}, [scrollNumber]) //add a dependency
添加回答
举报