有没有更好的方法将类放入 next.js 中的 html 和 body 标签中?

Mar*_*iya 6 reactjs next.js tailwind-css

我正在使用 Next.js 和 Tailwind,为了使某些元素正确显示,我需要将一些样式类放入<html>和中<body>

我对我的MyApp

function MyApp({ Component, pageProps}: AppProps) {
  useEffect(() => {
    document.querySelector("html").classList.add("h-full");
    document.querySelector("body").classList.add("h-full");
    document.querySelector("#__next").classList.add("h-full");
  });

  return (
      <Component {...pageProps} />
  )
}
Run Code Online (Sandbox Code Playgroud)

这是可行的......但我想知道是否还有其他方法,或更优雅的解决方案。

Jam*_*cia 11

使用以下命令创建一个_document.tsx文件:

import { Html, Head, Main, NextScript } from 'next/document'

export default function Document() {
    return (
        <Html lang="en-us" className="h-full">
            <Head />
            <body className="h-full">
                <Main />
                <NextScript />
            </body>
        </Html>
    )
}
Run Code Online (Sandbox Code Playgroud)

文档

我们在一些 Tailwind CSS/Next.js 研究中发现了这一点,它对我们有用。