-
react-scrollパッケージを使用する方法:
react-scroll
パッケージをインストールします:npm install react-scroll
- スクロールしたいコンポーネントで
Link
コンポーネントを使用します:import { Link, animateScroll as scroll } from "react-scroll"; const MyComponent = () => { const scrollToTop = () => { scroll.scrollToTop(); // ページトップにスクロールする }; return ( <div> <Link to="top" smooth={true} duration={500}> ページトップにスクロールする </Link> <button onClick={scrollToTop}>ボタンをクリックしてページトップにスクロールする</button> </div> ); };
to
プロパティにはスクロール先の要素のIDを指定します。smooth
プロパティはスムーズなスクロールを有効にし、duration
プロパティはスクロールのアニメーションの時間を設定します。
-
カスタムフックを使用する方法:
- カスタムフック
useScrollToTop
を作成します:import { useEffect } from "react"; const useScrollToTop = () => { useEffect(() => { window.scrollTo(0, 0); // ページトップにスクロールする }, []); }; export default useScrollToTop;
useScrollToTop
フックを使用するコンポーネントでインポートし、呼び出します:import useScrollToTop from "./useScrollToTop"; const MyComponent = () => { useScrollToTop(); return ( <div> {/* ページのコンテンツ */} </div> ); };
- カスタムフック