在使用Vue和next一年多后,我决定学习React和Next.js,几乎立即注意到可怕的开发体验。
每个样式表和组件都需要导入,所以在每个组件的开头总是有一个臃肿的导入地狱。
更不用说如果你需要一个额外的库,因为你不能钩子到任何全局对象,如next的this.$plugin
选项。
是否有一些包来管理Nextjs的这些导入?据我所知,每个使用它的人都不介意它,这让我感到惊讶。
这个问题可能是对React的侮辱,它确实是,但我只是想至少有一个理由加入炒作火车,为什么React更受欢迎。
在pages目录下创建一个名为_doucument.js
或_document.ts
(用于TypeScript)的文件,并在其中导入React,如下所示:
(以下代码为TypeScript)
import React from 'react';
import Document, {
DocumentContext,
Head,
Html,
Main,
NextScript,
} from 'next/document';
export default class CustomDocument extends Document {
static async getInitialProps(ctx: DocumentContext) {
const initialProps = await Document.getInitialProps(ctx);
return { ...initialProps };
}
render() {
return (
<Html lang="en">
<Head>
<title>Your title</title>
</Head>
<body>
<Main />
<NextScript />
</body>
</Html>
);
}
}
等等,不需要在任何组件中导入React。