我正在使用 NextJS 和 Styled Components。阅读下面的文档,我在 NextJS 中添加了一个自定义 _document.js 以使 Styled Components 工作。
示例代码是用 React 类编写的,有没有办法将其转换为函数?
我正在使用 NextJS 和 Styled Components。阅读下面的文档,我在 NextJS 中添加了一个自定义 _document.js 以使 Styled Components 工作。
示例代码是用 React 类编写的,有没有办法将其转换为函数?
从Next 11.1.1开始这是可能的,这要归功于#28515,但该功能目前似乎没有记录。
请参见下面的示例:
import { Html, Head, Main, NextScript } from 'next/document'
const Document = () => (
<Html>
<Head/>
<body>
<Main />
<NextScript />
</body>
</Html>
)
export default Document
答案是没有好的方法可以做到这一点,我想你可以以某种方式覆盖它,但是 Next.js 在其自定义运行时中使用 _document 和 _app 并且覆盖它不是一个好主意。
_document 的目的:
自定义文档通常用于扩充应用程序的 <html> 和 <body> 标签。
另外,请注意,在 _document 中使用任何逻辑(除了 getInitialProps 之外)都是不可取的:https ://nextjs.org/docs/advanced-features/custom-document#caveats