javascript - react-router-dom - 将参数添加到索引 url 但接受页面
问题描述
目前我有以下代码:
<Router history={history}>
<div>
<Route exact path="/:id?" component={Container1} />
<Route path="/component2/ component={Container2} />
</div>
</Router>
“localhost:3000”返回容器 1(如预期的那样)。
“localhost:3000/123”返回容器 1 的不同视图(如预期的那样)。
但是,当我导航到“localhost:3000/component2/”时,它会出现在组件 1 旁边。
我的问题是如何使索引路由同时采用 id 但仍接受组件?
解决方案
您可以尝试将这两个路由包装在Switch中,如下所示:
<Router history={history}>
<div>
<Switch>
<Route path="/component2/" component={Container2} />
<Route exact path="/:id?" component={Container1} />
</Switch>
</div>
</Router>
推荐阅读
- sapui5 - 如何在我的应用程序中使用主题参数 CSS 类?
- html - 如何选择元素的父元素
- reactjs - React Hooks 更新数组状态导致无限循环
- javascript - 承诺链和条件
- python - 使用带有硒的功能我做错了什么?
- python - 如何添加像 facebook messenger 一样发送的消息时间?
- deep-learning - 估计任意不确定性深度学习模型
- gatsby - 使用本地包/依赖项将 Gatsby 部署到 Vercel
- latex - 如何在LATEX(Overleaf)的页面边缘添加垂直版权框?
- mongodb - 如何通过 mongo-go-driver 获取 mongodb 的版本