javascript 渲染后React屏幕位置

uqdfh47h  于 2023-05-21  发布在  Java
关注(0)|答案(1)|浏览(155)

为什么在呈现另一个内容后屏幕保持滚动?当我的页面上有很多内容时,如何在页面顶部呈现?

useEffect(() => {
     window.scrollTo({
        top: 0,
        behavior: "smooth"
     })
 }, []);

这是好的,但延迟,我想呈现即时的顶部没有任何运动。我认为这是一个常见的问题,但没有理由我找不到答案。

jtw3ybtb

jtw3ybtb1#

关于您的问题没有太多的细节,但是如果您想在渲染之前更新视图并同步更新视图,您应该使用useLayoutEffect而不是useEffect
1.状态已更改(新内容),渲染触发

  1. React渲染你的组件
    1.useLayoutEffect运行(在您的情况下滚动到顶部),React在绘制屏幕之前等待它完成
    1.屏幕更新

相关问题