我建立了以下路线:
const router = createBrowserRouter(
createRoutesFromElements(<>
<Route path={`/:siteid/login`} element={< LoginLayout/>}>
<>)
当然
/test/login
效果很好,但我想对 /test/again/login
使用相同的路由 有没有办法让路由适用于两个 URL,而无需创建不同的路由路径。
使用最新版本的
react-router-dom
谢谢
不,在以前的版本中
path
可以接受“别名”数组。不幸的是,这种情况已经不存在了,你必须自己做。如果您有很多别名,请考虑创建一个带有循环的数组,然后将其传递给createBrowserRouter
。
但是您似乎正在尝试添加一个“可选片段”,您可以使用
?
: 来捕获它
const router = createBrowserRouter(
createRoutesFromElements(<>
<Route path={`/:siteid/:optional?/login`} element={< LoginLayout/>}>
<>)
应与您的两条路线相匹配。