1 回答

TA貢獻1890條經(jīng)驗 獲得超9個贊
在第一個useEffect依賴數(shù)組中是空的,這意味著如果您在其中使用任何狀態(tài)變量,它的值不會在效果中改變
正如我所看到的,您正在使用scrollNumber設(shè)置的下一個狀態(tài)setScrollNumber(scrollNumber + 1);和值scrollNumber不會改變內(nèi)部效果,因為依賴項數(shù)組為空
因此,如果您對效果進行了任何更改,您必須告訴反應(yīng)重新初始化效果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
添加回答
舉報