当我想在用户刷新页面后回滚到顶部的时候,碰到了回滚失败的问题,我原来是这么写的
useEffect(() => {
window.scrollTo(0,0)
}, [location]);
但是好像并没有效果,我看了window.scrollY变为了0,之后又回到了原来的位置。 将代码改成这样就有效了
useEffect(() => {
setTimeout(() => window.scrollTo(0,0), 10)
}, [location]);
好像是因为dom还没构建完毕,所以导致回滚失败,加个定时器就好使了,但是我在想副作用函数不是在组建渲染完毕的时候执行的吗,有知道的大佬可以告诉我一下😘,而且假如页面是动态加载的话就不会出现这个问题,假如是静态页面的话就需要加定时器