react-loader-spinnerの使い方【実例あり】

loaderはサイトを作る際に必要ですよね。

loaderがあるだけで、ユーザは少しの間待てるとも言われています。

ただし、多すぎるのはNGです。例えばほぼ読み込み時間がないページにloaderが表示させているのは、待ってると錯覚しちゃうので逆効果です。

では、早速実装を始めていきます。

まずはいつも通りcreate-react-app

create-react-app my-app

これだけでreactが動く環境が出来るのはGOODですよね。

react-loader-spinnerの導入

npm install react-loader-spinner

つづいてソースを修正していきます。

■修正前

import React from ‘react’;

import { bounce } from ‘react-animations’;

import Radium, { StyleRoot } from ‘radium’;

const styles = {

  bounce: {

    animation: ‘x 1s’,

    animationName: Radium.keyframes(bounce, ‘bounce’),

    paddingLeft: ‘100px’,

    paddingTop: ‘100px’

  },

}

function App() {

  return (

    <div className=”App”>

      <div>バウンドするよ!</div>

      <StyleRoot>

        <div className=”test” style={styles.bounce}>いはかよ

        </div>

      </StyleRoot>

    </div>

  );

}

export default App;

■修正後

import React from ‘react’;

import { bounce } from ‘react-animations’;

import Radium, { StyleRoot } from ‘radium’;

import Loader from ‘react-loader-spinner’

const styles = {

  bounce: {

    animation: ‘x 1s’,

    animationName: Radium.keyframes(bounce, ‘bounce’),

    paddingLeft: ‘100px’,

    paddingTop: ‘100px’

  },

}

function App() {

  return (

    <div className=”App”>

      <Loader

        timeout={2000}

        type=”Bars”

        color=”red”

        height={100}

        width={100}

      />

      <div>バウンドするよ!</div>

      <StyleRoot>

        <div className=”test” style={styles.bounce}>いはかよ

        </div>

      </StyleRoot>

    </div>

  );

}

export default App;

react-loader-spinnerを実装後の画面

かなり騒がしい感じですが。。

ローダの種類

使えるローダも複数の種類があって色々選べます。

選択肢多いのは嬉しいですね。

まとめ

  • 簡単にローダーを実装出来る
  • ローダーの種類も豊富で、どれかしらお気に入りが見つかりそう。

最新情報をチェックしよう!