【发布时间】:2017-04-21 13:59:11
【问题描述】:
鉴于我有 2 条路径渲染相同的组件,我该如何避免重复这样的路由配置:
<Route path="/path1" component={MyComp} />
<Route path="/path2" component={MyComp} />
【问题讨论】:
标签: reactjs react-router
鉴于我有 2 条路径渲染相同的组件,我该如何避免重复这样的路由配置:
<Route path="/path1" component={MyComp} />
<Route path="/path2" component={MyComp} />
【问题讨论】:
标签: reactjs react-router
到目前为止我找到的最佳解决方案(但似乎有点奇怪):
<Route path="/:path(path1|path2)" component={MyComp} />
【讨论】:
path="/(path1|path2)"?
很好的答案。这也有助于以下情况:
<Route path="/path/path1" component={MyComp} />
<Route path="/path/:subpath(path2|path3)" component={MyAnotherComp} />
没有(path2|path3),如果路径是/path/path2,那么MyComp 和MyAnotherComp 两个组件都会被挂载。
PS。会作为评论添加,但不符合条件:)。
【讨论】:
<Route path={["/common-one", "/common-two"]} component={Common} />
【讨论】:
如果您需要允许多个匹配(不同的参数)但也没有参数 - 例如匹配网址:
您可以使用可选参数来做到这一点(注意括号后的问号)
<Route path="/questions/:tab(posted|answered)?" component={...} />
【讨论】: