【问题标题】:Is NextPage necessary when building NextJS apps in TypeScript在 TypeScript 中构建 NextJS 应用程序时是否需要 NextPage
【发布时间】:2021-06-18 00:42:46
【问题描述】:

在 nextJS 示例中,特别是展示如何将 TypeScript 与 NextJS 一起使用的示例,它们不使用 NextPage 类型。

我说的文件在这里:https://github.com/vercel/next-learn-starter/blob/master/typescript-final/pages/posts/%5Bid%5D.tsx,相关代码是这样的:

export default function Post({
  postData
 }: {
    postData: {
    title: string
    date: string
    contentHtml: string
  }
 }) {
   return (...

我觉得可以这样写:

export default function Post : NextPage<Props> ({
  postData
 }: {
    postData: {
    title: string
    date: string
    contentHtml: string
  }
 }) {
   return (...

或类似的东西。

我的问题是,我在 NextJS 站点中找不到任何关于使用导入接口 NextPage 的文档,具体来说,下一个团队将其从文档中删除。

我应该使用 NextPage 吗?

【问题讨论】:

  • 我应该使用NextPage吗?:如果您更喜欢明确说明返回类型,那么您应该使用。如果你想自动推导出postData 类型,那么你也应该这样做。此外,文档中没有很多内容。最好检查他们的讨论,有人会讨论类似的事情。

标签: reactjs typescript next.js


【解决方案1】:

两者都可以。它只是一种类型。

如果添加NextPage&lt;Props&gt;,则参数中的类型声明不是必需的。您可以将其简化为

export default function Post : NextPage<Props> ({ postData }) {
  ...
}

【讨论】:

  • 我认为还有其他好处(例如要求退货),但不是 100% 确定
  • 这种打字方式会给我带来错误。 TypeScript 目前是否支持此功能?
猜你喜欢
  • 2016-09-04
  • 2016-04-22
  • 1970-01-01
  • 2013-11-21
  • 2022-12-18
  • 2020-10-14
  • 1970-01-01
  • 2014-04-19
  • 2011-02-18
相关资源
最近更新 更多