Использование Font Awesome 5 с React

    Команда Simple-Server
    03.06.2026
    9 мин

    Материал подготовлен командой Simple-Server для администраторов VPS и выделенных серверов. Команды и пути проверяйте на тестовой машине перед production.

    Знакомство с Font Awesome 5

    Новая версия вышла относительно недавно, но сразу же стала востребованной. Разработчики и дизайнеры отметили ряд изменений:

    1. Современный адаптивный дизайн иконок
    2. Появление анимационных иконок
    3. Две версии: 1608 free & 7864 pro
    4. 4 стиля
    5. Новая сетка
    6. Хорошая читабельность при небольшом кегле

    И, несмотря на то, что пользователи по всему миру имеют доступ к одним и тем же пакетам значков, их можно с легкостью персонализировать. Мы покажем, как с помощью CSS изменить цвет, размер, положение и полностью преобразовать первоначальный вид иконок Font Awesome. Для этого достаточно уметь работать с React и следовать пошаговой инструкции.

    Зачастую начинающие разработчики ошибаются и считают React фреймворком, который используется для веб-разработки. Однако, это библиотека программирования, которая предназначена для создания пользовательских интерфейсов. Его основная задача – вывести на страницу компонент интерфейса, синхронизируя его с данными приложения. Создание интерфейса осуществляется путем разбиения каждой страницы на небольшие фрагменты. Эти фрагменты называются компонентами.

    Благодаря этому есть возможность уделять меньше внимания коду, сосредоточившись на каждом компоненте приложения в отдельности. При использовании библиотеки программирования время запуска цифрового продукта значительно сокращается.

    Как использовать Font Awesome 5 с React

    Перед началом настройки React Font Awesome необходимо определиться, какие иконки понадобятся вам. Чтобы не импортировать сразу все, их разделили на 4 пакета в соответствии со стилем. Обратите внимание на трехбуквенные сокращения, поскольку в дальнейшем мы будем использовать именно его.

    1. Solid (сплошной стиль — fas)
    2. Regular (обычный стиль — far)
    3. Light (легкий стиль — fal)
    4. Brands (двухтонный стиль — fab)

    Пакет значков Free Solid абсолютно бесплатный. Остальные 3 файла относятся к платной версии. Найти всю коллекцию иконок можно на официальном сайте. На панели слева расположены фильтры, по которым можно выбрать и установить**** понравившийся пакет. На сайте есть множество значков, включая логотипы известных брендов и таких приложений, как YouTube, Facebook, Tumblr. Чтобы использовать иконки, нужно произвести их установку.

    Если вы уже ознакомились со стилями иконок, можно стартовать. На этом этапе переходим к интеграции Font Awesome в компонент React.**** В нашем примере для установки пакетов в проект будет использоваться NPM (Node Package Manager). Серверная платформа Node.js. подходит для создания веб-приложений при выполнении JavaScript-кода.

    $ npm i --save @fortawesome/fontawesome-svg-core $ npm install --save @fortawesome/free-solid-svg-icons $ npm install --save @fortawesome/react-fontawesome

    Также у NPM есть аналог Yarn, который при желании можно использовать. Импорт Font Awesome осуществляет следующим образом:

    $ yarn add @fortawesome/fontawesome-svg-core $ yarn add @fortawesome/free-solid-svg-icons $ yarn add @fortawesome/react-fontawesome

    Как мы писали выше, есть 4 стиля значков. Сейчас мы продемонстрируем установку сразу всех пакетов иконок, а вы сами решаете, какие подходят для вашего проекта.

    Для этого нужно выполнить команды:

    npm i --save @fortawesome/fontawesome-svg-core @fortawesome/react-fontawesome npm i --save @fortawesome/free-regular-svg-icons npm i --save @fortawesome/pro-regular-svg-icons npm i --save @fortawesome/free-solid-svg-icons npm i --save @fortawesome/pro-solid-svg-icons npm i --save @fortawesome/free-light-svg-icons npm i --save @fortawesome/pro-light-svg-icons npm i --save @fortawesome/free-brands-svg-icons

    На данном этапе мы только установили пакеты, но не добавляли их в свое приложение. После установки нужно импортировать иконки. Это можно сделать двумя способами: импортировать каждый значок в отдельности или создать библиотеку Font Awesome. Прежде чем определиться, внимательно ознакомьтесь с плюсами и минусами каждого способа. Также это зависит от требований к вашему проекту.

    Первый способ: Явный импорт иконок

    Этот способ позволяет импортировать иконки в каждый компонент приложения React. Этим способом лучше воспользоваться в случае, если вам нужно добавить всего несколько иконок, сохранив пакет JavaScript легким. Если вы будете использовать логотип сразу в нескольких местах, то этот метод будет довольно громоздким. Поэтому в таком ситуации лучше выполнять импорт иконок вторым способом.

    Ниже мы показываем пример, как добавить иконки первым способом. После установки необходимых пакетов нужно выполнить следующие команды:

    import ReactDOM from 'react-dom' import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import { faCoctail } from '@fortawesome/free-solid-svg-icons' const element = <FontAwesomeIcon icon={faCoctail} /> ReactDOM.render(element, document.body)

    В нашем примере мы импортировали значок faCoctail из библиотеки значков svg.

    Виртуальный DOM помогает сделать разработку более простой и быстрой. При использовании этой технологии, при внесении изменений в отдельный компонент вы избежите перезагрузки данных с сервера.

    Второй способ: Создание библиотеки иконок

    Этот метод более эффективный и, скорее всего, подойдет для вашего проекта. При создании библиотеки иконки добавляются в приложение React один раз, а затем мы просто будем ссылаться на импорт в дочерних компонентах. На нем остановимся более подробно.

    Суть этого способа в том, чтобы импортировать**** иконки в библиотеку Font Awesome из fontawesome-svg-core, а затем добавить необходимые значки. Добавив иконки faCocktail и faBomb в библиотеку, мы можем ссылаться на них по всему приложению.

    import ReactDOM from 'react-dom' import { library } from '@fortawesome/fontawesome-svg-core' import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import { faCoctail, faBomb} from '@fortawesome/free-solid-svg-icons' library.add(fab, faCoctail, faBomb)

    В строке library.add() вы можете добавить любой значок из стиля brands, сославшись по имени значка в любом компоненте приложения React. Также добавив значки faCoctail и faBomb по отдельности, мы можем ссылаться на них в нашем приложении по именам строк значков «coctail» и «bomb». Как это происходит, мы покажем на примере:

    import React from 'react' import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' export const Drink = () => ( <div> <FontAwesomeIcon icon="bomb" /> Favorite Drink: <FontAwesomeIcon icon="cocktail" /> </div> )

    В этом фрагменте кода видно, как приступить к использованию значков, добавленных в библиотеку. То есть, нет необходимости снова их импортировать на уровне компонентов, как это описано в первом способе. Из всего этого можно сделать обширную библиотеку значков, которые нужны вашему приложению.

    После того, как импортировали библиотеку в проект, можно приступить к творчеству. На этом этапе есть возможность проявить фантазию и персонализировать иконки, сделав их максимально непохожими на первоначальную версию.

    В обновленной версии Font Awesome 5 появилась возможность менять размер иконок. Они разделены на малые, средние, большие и тд. Задать размер можно именем (xs, sm, md, lg, xl) или номером (2x, 3x, 4x, 5x, 6x).

    Задаем нужный размер при помощи атрибута CSS:

    // Size based on numbers <FontAwesomeIcon icon="spinner" size="2x" /> <FontAwesomeIcon icon="spinner" size="3x" /> <FontAwesomeIcon icon="spinner" size="4x" /> <FontAwesomeIcon icon="spinner" size="5x" /> <FontAwesomeIcon icon="spinner" size="6x" /> // Size based on names <FontAwesomeIcon icon="spinner" size="xs" /> <FontAwesomeIcon icon="spinner" size="sm" /> <FontAwesomeIcon icon="spinner" size="md" /> <FontAwesomeIcon icon="spinner" size="lg" /> <FontAwesomeIcon icon="spinner" size="xl" />

    Также стало возможным задать расположение значка в пространстве, разместив его в вертикальном, горизонтальном положении или отразив зеркально. Чтобы повернуть иконку, необходимо указать угол поворота в градусах (90, 180, 270).

    Для этого выполните следующие команды:

    <FontAwesomeIcon icon="spinner" flip="horizontal" /> <FontAwesomeIcon icon="spinner" flip="both" /> <FontAwesomeIcon icon="spinner" flip="vertical" /> <FontAwesomeIcon icon="coctail" rotation={90} /> <FontAwesomeIcon icon="coctail" rotation={180} /> FontAwesomeIcon icon="coctail" rotation={270} />

    Лучше всего стилизовать иконки получается благодаря добавлению яркости и цвета. Для этого используются все цвета CSS. В нашем случае мы сделаем иконку зеленой, задав в строке кода цвет.

    <FontAwesomeIcon icon="square" color="green" />

    Чтобы задать иконкам движения и добавить анимацию, используем команду «вращение» или «пульсация». Вращение иконок, как правило, применяется для создания эффекта загрузки.

    <FontAwesomeIcon icon="spinner" pulse /> <FontAwesomeIcon icon="spinner" spin />

    С появлением в Font Awesome 5 новой функции power transforms стало возможным связать все трансформации вместе, используя одну строку кода. В нашем примере мы отобразили, как можно перемещать, сжимать и поворачивать иконку.

    <FontAwesomeIcon icon="spinner" transform="shrink-6 left-4" /> <FontAwesomeIcon icon="spinner" transform={{ rotate: 45 }} />

    На практике можно выполнить любые преобразования, которые перечислены.

    Если вы создаете приложение на базе React, то Font Awesome станет незаменимым помощником, чтобы находить подходящие иконки и логотипы для социальных сетей. С помощью применения дополнительных инструментов**** можно реализовать любую идею и сделать стиль своего приложения уникальным и узнаваемым на рынке. А надежную платформу для вашего приложения всегда предоставит**** simple-server.tech.


    Нужен сервер для практики? Закажите VPS на Simple-Server — root-доступ, NVMe, DDoS-защита и поддержка 24/7.

    VPS для проекта

    VPS с root-доступом, NVMe и поддержкой 24/7 на Simple-Server.

    StarterVDS

    490

    в месяц

    1 ядро

    1 ГБ RAM

    20 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Безлимитный трафик
    Заказать VPS
    Рекомендуем

    PerformanceVDS

    1190

    в месяц

    2 ядра

    4 ГБ RAM

    60 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Базовая DDoS-защита
    Заказать VPS

    Нужна другая конфигурация? Посмотрите все доступные тарифы

    Все тарифы VPS

    Похожие статьи, которые могут быть вам интересны