javascript - 在 React 中滚动到 DOM 元素
问题描述
我正在使用 react 16.4,我需要滚动到应用程序中的 DOM 元素。因为refs
现在在反应中已弃用,所以我正在寻找实现这一目标的最干净的方法。
但从我的角度来看,如果没有ref
也没有像这样直接操作 DOM,很难找到解决方案:
document.getElementById("questions").lastElementChild.scrollIntoView({
behavior: "smooth"
});
目前做这种事情的最好方法是什么?
最好的祝福
解决方案
您仍然可以使用React.createRef()
. 只有字符串引用和回调被弃用/正在被弃用。
import React, {Component, createRef} from 'react'
class App extends Component {
myRef = createRef() // Create a ref object
scrollToRef = () =>
window.scrollTo(0, this.myRef.current.offsetTop);
render() {
return <div ref={this.myRef}></div>
}
}
推荐阅读
- java - 移除模拟器上的 Google Play 服务
- ruby-on-rails - Ruby 中的 JSON 反序列化
- jupyter-notebook - 为什么用 xeus-cling 激活 Jupyter 失败
- autohotkey - 如何有“输入”(或者它是上下文?)依赖热字符串/热键?
- c - 使用指针将字符存储在数组中
- c# - VS Code:在 C# 中提取接口
- python - 在 Windows 10 计算机上安装 Dlib 库时出错
- node.js - Mongodb客户端连接TypeError NULL问题
- python - 我的自定义损失函数是否正确?(火炬)
- c++ - 当遇到提取或插入运算符时,编译器处理信息(字符串、操纵器等)的顺序是什么?