React で要素までスクロールするにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-14 09:37:02
オリジナル
806 人が閲覧しました

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.
}
ログイン後にコピー

クラスコンポーネント - Ref コールバック

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.
}
ログイン後にコピー

注:

  • の使用は避ける
  • React コンポーネントではなく、DOM 要素に ref を渡します。
  • スムーズなスクロール アニメーションを有効にするには、CSS を追加します。

以上がReact で要素までスクロールするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート