【React】でSwiper(スライダー)の使い方・基本的な導入手順や動的インポートに切り替える方法を紹介
ReactでSwiper(スライダー)を使う基本的な方法を紹介します。
また、より発展的にテストモジュールデータのメモ化やSwiperモジュールの読み込みを動的インポートに切り替える方法も紹介しています。
ReactでSwiperを使う方法
swiperをインストール
swiperをインストールします。
swiperのデモページをチェックする
https://swiperjs.com/demos
上の公式のデモページからイメージに近いものを調べます。
使いたいものが見つかったら、Reactのボタンを押すと、コードとプレビューが同時にみれるcodesandboxが開きます。
必要なものをインポート
Swiper, SwiperSlideは必須で必要になります。
あとは、自動再生を使うならAutoplayを、ページネーションを使うならPaginationを、
矢印のページ送りを使いたいならNavigationをインポートします。
あとは、使う必要のあるモジュールをインポートします。
swiperのcssはほぼ必須です。
あとは、使うコンポーネントのcssをインポートします。
Swiperコンポーネントで設定する
Swiperコンポーネントに設定を追加します。
modulesで使うモジュールを指定します。
ページ送り、mousewheel、keyboardなどはtrueを渡すだけです。
ページネーションはclickableやclickableClassなどを設定できます。
autoplayはオブジェクトにして、遅延時間などを設定できます。
disableOnInteractionは、触っても自動再生が止まらないようにするかどうか指定できます。
breakpointsの設定では、swiperはモバイルファーストアプローチなので、スマホのときにどうするかを設定して、
breakpointsでそれ以上大きいときの状態を指定します。
サンプル実例
余裕のある方は、動的インポートに切り替えるとパフォーマンスが向上します。
Swiperモジュールの読み込みを動的インポートに切り替える
上のコードでは、SwiperモジュールやそのCSSを静的にインポートしています。
しかし、Swiperを使うコンポーネントが遅延読み込みされる場合や、パフォーマンス向上を図る場合には、動的インポートを検討すると良いでしょう。
不必要な場合にSwiper関連のファイルをロードしないため、初期レンダリングの負担を軽減できます。
テストモジュールデータのメモ化
現在のコードでは、testimonialsデータが毎回レンダリング時に再評価されています。パフォーマンスを向上させるために、React.useMemoを使用してメモ化することで、不要な再計算を防げます。
これらの改善を取り入れると、可読性や保守性が向上し、パフォーマンスにも優れたコードとなります。