6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ReactでFontAwesomeを簡単に使う

Last updated at Posted at 2019-06-06

#はじめに
ReactでFont Awesomeをscssで使おうとして、
上手くいかなくて調べていたら、すごくお手軽簡単な方法にたどり着いたので、
今更感がありそうですが、共有します。

#Font Awesome?
ざっくり言うとWebページで、
アイコンフォントが使えるようになるCSSフレームワークです。
例えばSNSのアイコンなんかを画像で用意しなくても使えるので、
お手軽で軽量です。
無料と有料があり、有料だと使えるアイコンの数が増えます。

#環境
windows10
Node.js v8.12
React.js v16.8.6

#前提

  • 今回Font Awesome自体の使い方は記載しません
  • この方法ではFont Awesomeバージョン4になります
  • バージョン5以降を使いたい場合は、公式からDLして設置します
  • react専用のnpmパッケージもありますが、今回はふれません(あまりロックインしたくないので)
  • 今回のnpmは3年更新されてないようです。そこは気がかり
  • とは言え、週間60万もDLされてるのでメジャー且つ人気っぽいです(2019.6.7現在)

Font Awesome公式はこちら
基本的な使い方はこちら
具体的な使い方はこちら
npmはこちら
React専用はこちら

#準備
適当にReactのプロジェクトを作ります。

$ create-react-app fontawesome-hello

※後述のサンプルは、余計なコードを消していますが、
これで作られたコードにそのまま記述しても使えます。

インストール

$ npm install --save font-awesome

#コード書き換え

index.js

一番TOPのコンポーネントです。
ここに先ほどインストールしたcssを読み込みます。

import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
import * as serviceWorker from './serviceWorker';

// ★これを追加するだけ
import 'font-awesome/css/font-awesome.min.css'; 


ReactDOM.render(<App />, document.getElementById('root'));
serviceWorker.unregister();

App.js

実際にfont Awesomeを利用するコンポーネントです。
公式の使い方の通り、classに設定して利用します。

import React, { Component } from 'react';

// 別にクラスでなくても良い
class App extends Component {
  constructor(props) {
    super(props);
  }

//★ <i className="fa fa-thumbs-up">でグッドアイコンが表示される

  render() {
    return (
      <div>
        hello font awesome<i className="fa fa-thumbs-up"></i>
      </div>
    );
  }

//アイコンだけだとなんとなく寂しかったので文字も出しているが、今回の話と関係ない

}

export default App;

#実行結果
image.png

一番右にグッドアイコンが出てますね。
成功です!

#所感
過去にいろいろ試して四苦八苦したのですが、
1コマンドで用意できてしまうのはすごく楽ですね。
この感じならAnguraやVue.jsでも使えそうですし、
node.jsのサーバサイドレンダリングでもいけそうですね!
(試してませんが)

#参考
Get Sass and Font Awesome up and running on your Create React App in 5 minutes

6
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?