【发布时间】:2020-10-23 00:19:43
【问题描述】:
我在 nextjs 中有一个应用程序。我在那里建立了下一条路线:
<Link
href="colors/[type]"
as={`colors/${type}`}
>
<a>click</a>
</Link>
这条路线将我重定向到/colors/red 或colors/blue 等等,具体取决于用户。 type 这里是一个变量 = 动态元素。
我还有其他链接:
<Link href="colors">
<a>click to colors</a>
</Link>
这条路线应该将我重定向到/colors,但是当我点击时我得到错误,因为第一个网址colors/red 不等于这种类型:colors。所以我必须在colors 之后添加一些东西才能让事情发生。
如何解决问题?以及如何让我的第一条路由接受最后一个参数作为可选参数。?
【问题讨论】:
-
你能展示你的'pages/colors'文件夹结构吗?你在使用动态路由吗?
-
@P.E.Joëssel,我的文件夹结构:颜色 - 文件夹和颜色文件夹内我有 [type].js 文件
-
@P.E.Joëssel,你知道解决方案吗?
-
如果 /colors 页面与 /colors/[type].js 不同,您可以在 /colors 文件夹中添加 index.js 或创建 /pages/colors.js 页面跨度>
-
其他解决方案是使用一条捕获所有路由:/colors/[[...type]].js