无法理解 nextJS13 中的 Params 对象类型

trouble understanding Params object type in nextJS13

提问人:user22793041 提问时间:10/24/2023 最后编辑:user22793041 更新时间:10/24/2023 访问量:35

问:

我很难理解 nextJS 的 Params 类型结构。

以下代码运行良好:

type Params={
    params:{userid:string}
}


export default async function UserPage({params:{userid}}:Params) {

    const userData:Promise<User>= getUser(userid);
    const userPostsData:Promise<Post[]>= getUserPosts(userid);

    // const [user,userPosts]=await Promise.all([userData,userPostsData]);

    const user=await userData;

  return (
    <>
        <h2>{user.name}</h2>
        <br />
        <Suspense fallback={`<h2>Loading</h2>`}>
            <UserPosts promise={userPostsData} />
        </Suspense>
    </>
  )
}

但是我不明白它的用途以及为什么 Params 的结构是这样的。

当我将参数更改为以下内容时:

type Params={
    userid:string
}

我将参数描述更改为:

export default async function UserPage({userid}:Params)

它给出了一个错误。

所以我知道我做错了什么,但我不知道是什么。

(顺便说一句,我正在关注这个tutotrial:https://youtu.be/843nec-IvW0?feature=shared )

TypeScript 对象 类型 next.js13 dynamic-pages

评论


答:

0赞 HC0215 10/24/2023 #1

params并且是页面组件中的可选道具。 您可以查看文档 https://nextjs.org/docs/app/api-reference/file-conventions/page#propssearchParams