Ответа на этот вопрос

Я пытаюсь использовать response-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>. Я попытался изменить <span>...</span> на <i>...</i> в "edit as HTML" в инструментах dev, и значок все еще не отображался.

У меня есть add-module-exports в моих плагинах и stage-2 в моих настройках в моем webpack.config.

Может ли кто-нибудь сказать мне, если я что-то упустил? Нужен ли мне какой-то другой пакет, отличный от реакции-fontawesome, чтобы сделать эту работу? Нужно ли мне импортировать стандартный шрифт-awesome.css или загрузить шрифт-удивительный CDN? Любая помощь будет принята с благодарностью, спасибо!

Ответ 1

У меня была та же проблема. Прочтите их Readme.md, и вы увидите, что есть эта заметка:

Примечание. Этот компонент не включает ни один из шрифтов Font Awesome CSS или шрифтов, поэтому вам нужно обязательно включить их в свой конец, добавив их в свой процесс сборки или связавшись с версии CDN.

Таким образом, самый простой способ - связать с fontovesome cdn в html.

<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> 

Ответ 2

Как упоминают другие ответы, вам нужно как-то добавить значки на свою страницу. Посмотрите здесь пример react-fontawesome: https://github.com/danawoodman/react-fontawesome/blob/master/examples/index.html

Вы можете видеть, что разработчик включил шрифт-awesome CSS на строку # 5.

В отдельном примечании был выпущен 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-more-conveniently

Ответ 3

Выполнить npm install font-awesome --save

В ваших index.js или App.js или YourComponent.js импортируйте миниатюрный файл CSS.

import 'font-awesome/css/font-awesome.min.css';

Ответ 4

Как заметил @Alee, шрифты Fontaweome не включены в пакет. Вам придется импортировать его самостоятельно.

  • Установите пакет npm font-awesome. Если вы используете npm run npm install font-awesome --save или используете пряжу, запустите yarn add font-awesome

  • Теперь вам нужно импортировать font-awesome.less в каталог less, написав import 'font-awesome/less/font-awesome.less'

Теперь вы должны увидеть, что ваши значки работают:)

Ответ 5

Я подозреваю, что вы еще не импортировали CSS, который нужен FontAwesome, - загрузите уменьшенный файл CSS с веб-сайта FontAwesome и импортируйте его в файл app.scss или где бы вы ни импортировали другие таблицы стилей.

Библиотека "Reply-fontawesome" помогает вам создавать элементы с именами классов, такими как "стрелка вверх", но без таблицы стилей ваш проект не будет знать, что есть значки, соответствующие этим классам.

Ответ 6

Единственный пример, который я получил, что на самом деле кажется актуальным и не выбрасывает "не может разрешить" реагировать "на ошибки:

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"));

Ответ 7

Попробуйте добавить https://use.fontawesome.com/3bd7769ce1.js ' > в свой основной index.html в рамках своего проекта реагирования.