Это лучший подход:
Добавьте модули с пряжей:
yarn add @fortawesome/fontawesome-svg-core
yarn add @fortawesome/free-solid-svg-icons
yarn add @fortawesome/react-fontawesome
Импортируйте их в один из ваших пакетов Webpacker:
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { library } from '@fortawesome/fontawesome-svg-core';
import { faAngleDown, faAngleUp, faCoffee } from '@fortawesome/free-solid-svg-icons';
library.add(faAngleDown, faAngleUp, faCoffee);
global.Fa = FontAwesomeIcon;
Затем используйте их в своих компонентах:
H1 { Fa(icon: 'coffee') } # to inherit your H1 style
Fa(icon: 'angle-down', size: 'xs)
Fa(icon: 'angle-up', className: 'special')
Если вы часто используете определенные значки, вы можете добавить вспомогательный метод в класс HyperComponent
:
class HyperComponent
include Hyperstack::Component
include Hyperstack::State::Observable
def icon_check
Fa(icon: 'check', className: 'green-color', size: 'lg')
end
end
Это действительно так просто!