October 08, 2019
最近プロダクトのIconに自社フォントファイルとreact-native-vector-iconsが混在していたのを
FortAwesome/react-native-fontawesomeでpro-solidにほとんどを置き換えたのでメモ。
READMEのBuild a Library to Reference Icons Throughout Your App More Convenientlyにある様に
import { library } from '@fortawesome/fontawesome-svg-core'
import { fab } from '@fortawesome/free-brands-svg-icons'
import { faCheckSquare, faCoffee } from '@fortawesome/free-solid-svg-icons'
library.add(fab, faCheckSquare, faCoffee)
とかが基本だと思うが
pro-lightやpro-solidで名前が被る場合は
asでrename
import {
faPlusCircle,
} from '@fortawesome/pro-light-svg-icons';
import {
faPlusCircle as fasFaPlusCircle,
} from '@fortawesome/pro-solid-svg-icons';
library.add(
faPlusCircle,
fasFaPlusCircle
)
独自のSVGを追加する場合は変数で下記の様に追加する。
const faHoge = {
prefix: 'fao',
iconName: 'hoge',
icon: [
512,
512,
[],
'f000',
'SVGのdを入れる長過ぎるので省略'
],
} as any;
library.add(
faHoge
)
// Componentで
<FontAwesomeIcon icon={['fao', 'hoge']} />
といった感じでIconと一部独自のIconに移行できた。
初めてFontAwesomeのPro使ってみたがFontAwesome自体は太くてダサいなと思っていたが
pro-lightは細めで使いやすいなーと思った。
あとドラマシリコンバレーの中の会社のアイコンがあって笑った。
FontAwesomeにPiedPiperのアイコンあってワロタ pic.twitter.com/OrtIfWCRrB
— T.t0m0120 (@t0m0120) October 1, 2019