我的路线配置为react-router
:
render((
<Router history={browserHistory}>
<Route path="/" component={PoApp}>
<IndexRoute component={Home} />
<Route name="category" path="notices/:category" component={Category}>
<Route name="notice" path=":id" component={Content} />
<IndexRoute component={Home} />
</Route>
</Route>
</Router>
), document.getElementById('poApp'));
/
和notices/:category
工作正常
但是对于:id(可能是/ notices /:category /:id)它仍会加载Category
组件。有什么问题?
如果我不清楚的话,我在这里举一些如何工作的例子:
/
=&gt; PoApp
/notices/cars
=&gt;分类
/notices/cars/2
=&gt;含量
答案 0 :(得分:2)
根据类似question的答案,嵌套路由用于嵌入嵌套组件,而不是在嵌套路由中引用不同组件。
在您的情况下,Category
组件应具有子组件的占位符(如<RouteHandler />
或{this.props.children}
,具体取决于您的路由器版本)。然后使用嵌套路由将适当的子组件嵌入到父组件中。