ARTICLES

React Simple Animate をお試しする

2019-05-29

React Simple Animate というのがあると知り、早速導入してみました。

React において、コンポーネントのアニメーションは気軽に導入というわけにはいかず、一手間かかります。CSS の定義も必要となります。React Simple Animate を使うと、簡単に設定することでコンポーネント単位のアニメーションを導入できます。

単純な定義だと、以下のように、Animate コンポーネントを使用し、アニメーションの開始と終了を startstop にて定義することが出来ます。

        <Animate
          play={this.state.play}
          start={{ opacity: 1, filter: 'blur(0)' }}
          end={{ opacity: 0, filter: 'blur(10px)' }}
        >
          <div>
            <img src="/static/img/ogp_default.png" style={{width: "500px", height:"261"}}/>
          </div>
        </Animate>

実際に作ってみたサンプルです。MDX でこのドキュメントを書いているので、文中にコンポーネントを挿入できます。MDX について興味があることはこちら。

ボタンを押すとアニメーションが始まるのがわかると思います。

完全なソースは以下です。まあ、こんな感じで使えるっていうのがわかればと。

export class AnimationSample extends React.Component {
  constructor(props){
    super(props);
    this.state = {
      play: false
    }
  }
  //
  onClick() {
        this.setState({
            play: !this.state.play
        });
  }
  //
  render() {
    return(
      <div>
        <Animate
          play={this.state.play}
          start={{ opacity: 1, filter: 'blur(0)' }}
          end={{ opacity: 0, filter: 'blur(10px)' }}
        >
          <div>
            <img src="/static/img/ogp_default.png" style={{width: "500px", height:"261"}}/>
          </div>
        </Animate>
        <button className="button is-link" onClick={this.onClick.bind(this)}>{
          this.state.play
          ? <p><i class="fas fa-eye"></i> SHOW</p>
          : <p><i class="fas fa-eye-slash"></i> HIDE</p>
        }</button>
      </div>
    )
  }
}

導入は簡単で、npm にてインストール出来ます。

npm i react-simple-animate

使うときは import をしましょう。

import { Animate }  from 'react-simple-animate'

しばらく使ってみて、問題がなさそうなら次期リニューアルに導入してみようと思います。


ARTICLES


    AUTHOR

    原 一浩 の顔写真

    (はら) 一浩(かずひろ)

    カンソクインダストリーズ代表 / グレーティブ合同会社代表

    1998年に独立し、同年、ウェブデザイン専門のメールメディア DesignWedgeの発行を開始。Webデザイン業の傍ら、海外のWebデザインに関する情報発信を行う。
    雑誌への寄稿多数。主な著書に『はじめてのフロントエンド開発』『プロセスオブウェブデザイン』、『Play framework徹底入門』、『ウェブデザインコーディネートカタログ』など。自社製のWebデザインのクロール&キャプチャシステムvaqumをベースに、様々なリサーチを行っている。Web 検定プロジェクトメンバー

    著作一覧はこちら