我不确定如何解决 Next.js 中的嵌套路由问题。
这是我的目录结构:
pages
|-[category]
| |-index.js
| |-[city]
| |-index.js
|-post
| |-[id].js
index.js
所有代码都在 index.js
文件夹中的 pages
中实现,其中包含在数据库中设置的城市和类别的帖子列表。点击这些帖子中的任何一个都会将您重定向到 domain.com/post/some-id
。
我在前端使用过滤器栏,其中包含使用不同查询的标签。因此,点击 “Category 1” 标签应该会显示相同的网站,但带有过滤数据和新网址 (domain.com/category-1/
)。您可以通过单击城市标签进一步过滤数据(单击“纽约” 会将您重定向到 domain.com/category-1/new-york
)。您还可以删除带有类别的标签,现在应该将您重定向到 domain.com/all/new-york
)。删除两个过滤器(类别和城市)应该会将您重定向到 domain.com
,而不是 domain.com/all/all
。
问题:
index.js
中的 pages
)并单击其中一个帖子时,它正确地将我重定向到帖子详细信息页面 ([id].js)。但是当我在任何嵌套路由(即前面提到的 domain.com/category-1/new-york
)中时,单击 post 会导致此错误:不需要设置任何类别,我只想被重定向到该帖子的详细信息页面。似乎我无法摆脱嵌套的路线。我该如何解决这个问题?