首页 > web前端 > js教程 > 如何在 React 中滚动到某个元素?

如何在 React 中滚动到某个元素?

Linda Hamilton
发布: 2024-11-14 09:37:02
原创
867 人浏览过

How to Scroll to an Element in React?

如何滚动到某个元素?

您希望聊天小部件在加载新消息时自动聚焦于最后一条消息。为此,您需要为每条消息创建一个动态引用,并使用滚动函数滚动到最后一个元素。

以下是具体操作方法:

React 16.8 ,功能组件

const ScrollDemo = () => {
  const myRef = useRef(null);

  const executeScroll = () => myRef.current.scrollIntoView(); // run this function from an event handler or an effect to execute scroll

  return (
    <>
      <div ref={myRef}>Element to scroll to</div>
      <button onClick={executeScroll}>Click to scroll</button>
    </>
  );
};
登录后复制

React 16.3,类组件

class ReadyToScroll extends Component {
  constructor(props) {
    super(props);
    this.myRef = React.createRef();
  }

  render() {
    return <div ref={this.myRef}>Element to scroll to</div>;
  }

  executeScroll = () => this.myRef.current.scrollIntoView(); // run this method to execute scrolling.
}
登录后复制

类组件 - 引用回调

class ReadyToScroll extends Component {
  render() {
    return (
      <div ref={(ref) => (this.myRef = ref)}>Element to scroll to</div>
    );
  }

  executeScroll = () => this.myRef.scrollIntoView(); // run this method to execute scrolling.
}
登录后复制

注释:

  • 避免使用字符串引用,因为它们已被弃用。
  • 将 ref 传递给 DOM 元素,而不是 React组件。
  • 添加 CSS 以启用平滑的滚动动画。

以上是如何在 React 中滚动到某个元素?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板