微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在preact / react中渲染后如何触发element.scrollIntoView?

如何解决在preact / react中渲染后如何触发element.scrollIntoView?

实际上,我正在渲染元素列表并在每个元素上具有编辑功能。每当元素被编辑时,它都会触发获取和完全重新渲染。我正在尝试让DOM进入scrollTo的元素,该元素在获取并重新渲染后刚刚被编辑。

当前代码如下:

const ref = useRef(null);
useEffect(() => {
  if (scrollToThis && !loading) ref.current.scrollIntoView({ behavior: 'smooth',block: 'end' });
},[scrollToThis])

我将ref传递到运行此代码的组件的根目录。它可以工作,但几乎永远不会滚动到正确的元素(可能是因为传递给ref的{​​{1}}来自以前的渲染,但是没有钩子,代码根本无法工作。

如何设置它,使ref始终是最新的并滚动到正确的元素?我一直在阅读博客文章和文档,但对我来说真的没有什么可以点击的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。