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
添加回答
舉報