SSGのページでreact-fontawesomeのアイコンが一瞬でかく表示されてしまう

公開日時

Next.jsアプリでアイコン表示の際にreact-fontawesomeを使っていたのだが、Vercel上でページを開くと一瞬だけアイコンがでかく表示されてしまう現象が発生した。

ローカル環境では発生せず、Vercelにデプロイした時のみ発生しているのでSSGが原因と考えられる。

調べてみるとissueも上がっており、[[@fortawesome/fontawesome-svg-core/styles.css]]をimportする必要があるとのこと。

ということで_app.tsxにimportを追加したところ、アイコンが正しく表示されるようになった。

// pages/_app.tsx
import '@fortawesome/fontawesome-svg-core/styles.css'
import '@/styles/index.css'

import { AppProps } from 'next/app'
import React from 'react'

function MyApp({ Component, pageProps }: AppProps): JSX.Element {
  return <Component {...pageProps} />
}

export default MyApp

Related #next.js

Next.js使用時にrecoil-persistのStorageを変更する

クライアント側で実行された場合のみstorageを指定するようにした

Next.jsで環境に応じて特定のページを非表示にする

NODE_ENVでredirectsを出し分けた

Next.jsで動的URLをRewriteする

next.config.jsにrewritesを追加

Next.js + typescriptでpathsのエイリアスがModule not foundになる

next.config.jsに追記する必要があった

Next.js + Algoliaで全文検索UIを実装する

react-instantsearchを利用