【发布时间】:2018-06-26 12:55:35
【问题描述】:
在我的 react 应用中,我设置了这样的路线
class App extends Component {
render() {
return (
<div className="app">
<Header />
<Route exact path="/" component={PostList} />
<Route exact path="/:category" component={PostList} />
<Route exact path="/:category/:postid" component={PostDetails} />
</div>
);
}
}
/ 和 foo 正在渲染 PostList 组件就好了。但是当我尝试使用例如/foo/bar 访问PostDetails 组件时,它不会被命中。
我尝试使用路由定义的顺序以及exact 道具,但没有运气。没有收到任何错误,devtools 中的检查器只是没有显示组件应该位于的任何输出。
我在这里缺少什么?我正在使用 react-router-dom@4.2.2。
【问题讨论】:
-
你的确切路由结构是什么,有父路由还是子路由??
-
@ShubhamKhatri 不,仅此而已。更新了代码,让您可以看到整个组件。
-
当您点击
/foo/bar时,您希望PostList和PostDetails显示或仅显示PostDetails? -
我不确定这是否可行,但出于好奇,如果您将
<Route />组件与<Switch>包装在一起会发生什么? (从 react-router-dom 导入) -
你在用BrowserRouter吗,你怎么访问/foo/bar
标签: reactjs react-router react-router-dom