Skip to content
← Back to rules

nextjs/no-duplicate-head 正しさ

何を行うか

pages/_document.js 内での <Head> 要素の重複使用を防止します。

なぜこれは問題なのか

アプリケーション内で予期しない動作を引き起こす可能性があります。

このルールに違反する 不適切な コードの例:

jsx
import Document, { Html, Head, Main, NextScript } from "next.document";
class MyDocument extends Document {
  static async getInitialProps(ctx) {}
  render() {
    return (
      <Html>
        <Head />
        <Head />
        <body>
          <Main />
          <NextScript />
        </body>
      </Html>
    );
  }
}
export default MyDocument;

このルールに準拠する 適切な コードの例:

jsx
import Document, { Html, Head, Main, NextScript } from "next.document";
class MyDocument extends Document {
  static async getInitialProps(ctx) {}
  render() {
    return (
      <Html>
        <Head />
        <body>
          <Main />
          <NextScript />
        </body>
      </Html>
    );
  }
}
export default MyDocument;

使用方法

設定ファイルまたは CLI でこのルールを 有効化 するには、次のように使用できます:

json
{
  "plugins": ["nextjs"],
  "rules": {
    "nextjs/no-duplicate-head": "error"
  }
}
bash
oxlint --deny nextjs/no-duplicate-head --nextjs-plugin

参照