React-fontawesomeを使用して、readmeとまったく同じように見えるように実装しようとしています: https://github.com/danawoodman/react-fontawesome/blob/master/readme。 md
import React from 'react';
import FontAwesome from 'react-fontawesome'
...
export default class ComponentName extends React.Component {
render() {
return (
<div>
<div>
<span>
<FontAwesome
className='super-crazy-colors'
name='rocket'
size='2x'
spin
style={{ textShadow: '0 1px 0 rgba(0, 0, 0, 0.1)' }}
/>
SOME TEXT
</span>
</div>
...
</div>
)
}
}
しかし、DOMにアイコンが表示されていません。 Chrome Dev Tools:
<span style="text-shadow:0 1px 0 rgba(0, 0, 0, 0.1);" aria-hidden="true" class="fa fa-rocket fa-2x fa-spin super-crazy-colors" data-reactid=".0.$/=11.0.0.$/=10.$/=10.$/=10"></span>
<i>
タグにすべきだと思います。開発ツールの「HTMLとして編集」で<span>...</span>
を<i>...</i>
に変更しようとしましたが、アイコンが表示されませんでした。
プラグインにadd-module-exportsがあり、webpack.configのプリセットにstage-2があります。
誰かが私が何かを見逃しているのなら教えてくれますかこの作業を行うには、react-fontawesome以外のパッケージが必要ですか?標準のfont-awesome.cssをインポートする必要がありますか、それともフォントが素晴らしいCDNをロードする必要がありますか?どんな助けでも大歓迎です、ありがとう!
同じ問題がありました。彼らの Readme.md を読むと、このメモがあることがわかります:
注:このコンポーネントにはFont AwesomeのCSSやフォントは含まれていないため、ビルドプロセスに追加するか、ビルドプロセスに追加するか、 CDNバージョン 。へのリンク
したがって、最も簡単な方法は、HTMLのfontawesome cdnにリンクすることです。
<head>
<meta charset="UTF-8">
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-
awesome.min.css" rel="stylesheet" integrity="sha384-
wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN"
crossorigin="anonymous">
</head>
他の回答が言及しているように、何らかの形でページにアイコンを含める必要があります。 react-fontawesome
例: https://github.com/danawoodman/react-fontawesome/blob/master/examples/index.html
開発者が5行目にfont-awesome CSSを含めていることがわかります。
別の注意として、Font Awesome v5がリリースされました。移行を検討する必要があります。こちらの関連ドキュメントをご覧ください。 https://www.npmjs.com/package/@fortawesome/react-fontawesome
V5を使用するには:
依存関係をインストールします。
$ npm i --save @fortawesome/fontawesome
$ npm i --save @fortawesome/react-fontawesome
$ npm i --save @fortawesome/fontawesome-free-solid
コンポーネントは次のようなアイコンを使用できます。
import ReactDOM from 'react-dom';
import FontAwesomeIcon from '@fortawesome/react-fontawesome'
import { faCoffee } from '@fortawesome/fontawesome-free-solid'
const element = (
<FontAwesomeIcon icon={faCoffee} />
)
ReactDOM.render(element, document.body);
また、簡単に参照できるように、アプリで一般的に使用されるアイコンのライブラリを構築することもできます。ここで作業コードを確認してください: https://codesandbox.io/s/8y251kv448
ここで利用可能なライブラリ関数の詳細: https://www.npmjs.com/package/@fortawesome/react-fontawesome#build-a-library-to-reference-icons-throughout-your-app-もっと便利に
実行npm install font-awesome --save
あなたのindex.js
またはApp.js
またはYourComponent.js
、縮小されたCSSファイルをインポートします。
import 'font-awesome/css/font-awesome.min.css';
@Aleeが指摘したように、Fontaweomeフォントはパッケージに含まれていません。自分でインポートする必要があります。
Npm font-awesome
パッケージをインストールします。 npm run npm install font-awesome --save
を使用する場合、またはyarnを使用する場合はyarn add font-awesome
を実行します
font-awesome.less
と記述することで、less
ディレクトリの下にimport 'font-awesome/less/font-awesome.less'
をインポートするだけです。
これで、アイコンが機能していることがわかります。
FontAwesomeが必要とするCSSをまだインポートしていないと思われます-FontAwesomeのWebサイトから縮小したCSSファイルをダウンロードし、app.scssファイルにインポートするか、他のスタイルシートをインポートする場所にインポートします。
React-fontawesomeライブラリは、「上矢印」などのクラス名を持つ要素の作成を支援しますが、スタイルシートがないと、プロジェクトはそれらのクラスに対応するアイコンがあることを認識しません。
実際に最新のように見え、「「react」エラーを解決できません」をスローしなかった私が働いた唯一の例:
https://scotch.io/tutorials/using-font-awesome-5-with-react
import React from "react";
import { render } from "react-dom";
// get our fontawesome imports
import { faHome } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
// create our App
const App = () => (
<div>
<FontAwesomeIcon icon={faHome} />
</div>
);
// render to #root
render(<App />, document.getElementById("root"));