如何摆脱Next/React导入地狱?



在使用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。