我是Next.js的新手,我正在玩路由器。有些页面可以工作,但是动态页面不行。有人知道我哪里做错了吗?以下是我的文件结构:
产品主页工作正常,但当我在产品中循环时,在这些产品中,我有一个这样的链接:
<Link href={`/products/${props.product._id}`}>
但是当我点击任何产品时,我得到的都是404。有人知道我做错了什么吗?谢谢
llycmphe1#
要使<Link href={/products/${props.product._id}}>工作,需要在products文件夹中创建一个[id]目录,并在其中添加一个page.tsx。这是因为,在pages文件夹中,设置路由的初始方式是文件创建路由,但由于Next.js v13,在app目录中,路由由文件夹创建,并使用page.js来呈现该路由,如doc所示:
<Link href={
}>
products
[id]
page.tsx
pages
v13
app
page.js
1条答案
按热度按时间llycmphe1#
要使
<Link href={
/products/${props.product._id}}>
工作,需要在products
文件夹中创建一个[id]
目录,并在其中添加一个page.tsx
。这是因为,在
pages
文件夹中,设置路由的初始方式是文件创建路由,但由于Next.jsv13
,在app
目录中,路由由文件夹创建,并使用page.js
来呈现该路由,如doc所示: