Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 不能对同一动态路径Nextjs使用不同的slug名称_Javascript_Reactjs_Express_React Router_Next.js - Fatal编程技术网

Javascript 不能对同一动态路径Nextjs使用不同的slug名称

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

我在基于文件夹结构的项目中使用默认的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 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]