我有严格的 TypeScript 设置。 (由于'no implicit any return type' error/warning
)我需要自定义文档组件中一个函数的返回类型如下:
ctx.renderPage = (): RenderPageResult | Promise<RenderPageResult> =>
originalRenderPage({
enhanceApp: App => (props): ReactElement => sheets.collect(<App {...props} />),
});
但不知道如何抓住RenderPageResult
.
所以我添加了以下内容next-env.d.ts
file:
/// <reference types="next/dist/next-server/lib/utils" />
并进口RenderPageResult
像这样进入文档组件:
import { RenderPageResult } from 'next/dist/next-server/lib/utils';
这是正确的做法吗?
有更好/正确的方法吗?
Thanks.
PS
项目用途"next": "^9.1.4",
这几乎是撰写本文时的最新版本。
PPS
问题最初发布在这里:https://spectrum.chat/next-js/general/next-js-strict-typescript-and-missing-hard-to-find-renderpageresult-type~6cf4b4a8-769f-4a99-a72e-8ee2f8ad17db https://spectrum.chat/next-js/general/next-js-strict-typescript-and-missing-hard-to-find-renderpageresult-type~6cf4b4a8-769f-4a99-a72e-8ee2f8ad17db
Updates:
- the
next-env.d.ts
上面提到的文件更新似乎添加了零值(并且基于 TS 文档 probs 是我对声明文件的完全误解)。