Next.jsでゴリゴリにSSRなWebアプリを開発されている方には何を今更な話ですが、割と知らないとハマる内容なので紹介します。 Next.jsでメディアクエリを使いたい場合の設定についてです。
Next.js
でSSR
を行っているviewport
の設定は自分で行ういきなり結論ですが、Next.js
でメディアクエリを使いたい場合は自分でviewport
の設定(meta
タグの配置)を行う必要があるようです。
素のReact
はこのあたりの処理は自動でやってくれていたので、知らないとハマるかもしれません。
下記の公式にもmeta
タグを自分で埋め込んだサンプルがあります。
以下公式より引用。
We expose a built-in component for appending elements to the
head
of the page:
import Head from 'next/head'
function IndexPage() {
return (
<div>
<Head>
<title>My page title</title>
<meta name="viewport" content="initial-scale=1.0, width=device-width" />
</Head>
<p>Hello world!</p>
</div>
)
}
export default IndexPage
今回は、Next.js
でメディアクエリを使う場合にviewport
の設定は自分で行わなければならない件を紹介しました。
React
に慣れていると、「あれ?メディアクエリが効かない。なんで・・・?」となりがちです。
知っていないと若干ハマるかもしれないので一応シェアしておきます。