Javascript 不能对同一动态路径Nextjs使用不同的slug名称
我在基于文件夹结构的项目中使用默认的nextjs动态路由技术。我有一条路线是:Javascript 不能对同一动态路径Nextjs使用不同的slug名称,javascript,reactjs,express,react-router,next.js,Javascript,Reactjs,Express,React Router,Next.js,我在基于文件夹结构的项目中使用默认的nextjs动态路由技术。我有一条路线是: pages/[language]/location/[location_id] 现在我遇到了一个用例,除了[location\u id]的最后一个参数之外,我需要上面的路由完全相同,我需要[route\u id] 当我为此新路由创建一个文件[route\u id].js时,我遇到了以下错误: throw new Error(`You cannot use different slug names for the
pages/[language]/location/[location_id]
现在我遇到了一个用例,除了[location\u id]
的最后一个参数之外,我需要上面的路由完全相同,我需要[route\u id]
当我为此新路由创建一个文件[route\u id].js
时,我遇到了以下错误:
throw new Error(`You cannot use different slug names for the same dynamic path ('${previousSlug}' !== '${nextSlug}').`);
在做了一些研究之后,我意识到了这个错误以及为什么它会向我展示这个问题,但我无法理解如何解决这个问题。我只想要一个解决方案,如何在我的应用程序中实现这两条路线:
Route 1: pages/[language]/location/[location_id]
PS:我已经研究过这一点:您提供的两条路线完全相同,一点也不不同。因此,它们将由单个页面处理。对于上述两个路由,没有两个URL将路由到不同的nextjs页面的示例 用
[]
编写的任何内容都将处理任何类型的值,例如1或2或任何其他值
您不能创建两个页面来处理同一个请求,因为next或其他人无法知道您使用的是route_id还是location_id,因为这两个变量都表示任何值
如果要在它们之间进行区分,请使用
/route/[route\u id]
而不是
/location/[location\u id]
,或使用查询参数
pages/[language]/location?locationid=[location\u id
]
及
非常感谢,我改了路线。现在根结构是相同的,但我有一个参数用于新路由的route\u id
。如果我不想创建新路由或使用查询参数怎么办?我有一个URI可以分类、发布或页面的场景,这就是为什么我想使用不同的slug作为同一路径,但似乎不可能,为什么Link组件的href属性无法区分请求是哪个slug?
Route 2: pages/[language]/location/[route_id]
pages/[language]/location?routeid=[route_id]