【React】「react-anchor-link-smooth-scroll」でスムーズスクロールするページ内リンクを実装する

タイトル通り、クリックしたら指定した場所までスムーズにスクロールしてくれるページ内リンクを実装できるライブラリのご紹介です。
使用したライブラリは「react-anchor-link-smooth-scroll」です。

GitHub のページはこちら。

mauricevancooten/react-anchor-link-smooth-scroll: React component for anchor links using the smooth scroll polyfill.
https://github.com/mauricevancooten/react-anchor-link-smooth-scroll

 

ライブラリのインストールは下記コマンドで行います。

npm install react-anchor-link-smooth-scroll --save

上記が完了したら、実装していきます。

サンプルコードはこちら。
まず、ライブラリをインポートします。

import AnchorLink from 'react-anchor-link-smooth-scroll';

そして、描画部分は下記のように記述すればOKです。

<AnchorLink href='#title1'>Title1</AnchorLink>
<AnchorLink href='#title2'>Title2</AnchorLink>

<h3 id="title1">Title1</h3>
<div>
  ......
</div>

<h3 id="title2">Title2</h3>
<div>
  ......
</div>

HTML でのページ内リンクとほとんど同じ書き方なので、特に難しくはないと思います。
で、実際に動作させてみたところ、スルーっとアニメーション付きでページリンク先までスクロールしてくれました!

ただ注意点として、要素に heightoverflow: scroll を指定して実行したところ、スクロールしませんでした。
特に overflow: scroll がよくないみたいなので、このライブラリを使用するときは、こちらのプロパティは使用しないほうが良さそうです。

 

以上、React でページ内リンクを実装できるライブラリ「react-anchor-link-smooth-scroll」のご紹介でした。
ご参考になれば幸いです。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG