Nextjsの「Do not add stylesheets using next/head」を直したいっ!

表示されたWarningは以下。

Do not add stylesheets using next/head (see <link rel="stylesheet"> tag with href="/css/main.css"). Use Document instead. 

warning箇所はstylesheetを読み込んでいる部分ではあるんですが、実際はHeadコンポーネントの書き方が悪いぽい?

修正前

import Head from "next/head";

修正後

ドキュメントを読めって話ですがnext/headではなくnext/documentを使いなさいよってことらしい。

import { Head } from "next/document";

next/headのHeadをnext/documentのHeadに変更したらwarningが消えました👍

next/head | next/document

next/headのHeadは、コンポーネントからHeadを追加するような使い方で、
next/documentのHeadは、ページ表示時のHeadを指定するような使い方が正しいようです。

結果的にdocumentのHeadコンポーネントは、Htmlの子要素にする必要があります。

import { Html, Head } from "next/document";

export default function Root() {
  return (
    <Html>
      <Head>
        <link rel="stylesheet" href="/css/main.css" />
      </Head>
    </Html>
  );
}

参考

No Stylesheets In Head Component | Next.js