我的react-router
库存在问题。请看看我简化的路由:
<Router>
<Route path="/" component={Layout}>
<Route path="assets" component={Assets}>
<Route path=":id/definition" component={AssetDefinition}>
{ /* etc. ... */ }
</Route>
<Route path=":id/version" component={AssetVersion}>
<Route path=":verId/edit" component={EditVersion}></Route>
{ /* etc. ... */ }
</Route>
</Route>
<Route path="applications" component={Applications}>
<Route path=":id/definition" component={AppDefinition}>
{ /* etc. ... */ }
</Route>
<Route path=":id/version" component={AppVersion}>
{ /* etc. ... */ }
</Route>
</Route>
</Route>
</Router>
在Layout
组件中,我根据路由呈现的Menu
旁边呈现this.props.children
。我的Menu
是使用this.props.route.path
动态生成的。
export default class Layout extends React.Component {
render() {
return (
<div>
<Menu />
{ this.props.children }
</div>
);
}
}
问题是我不知道Menu
中的相应路由路径。
e.g。
我打开/assets/123/version
。现在我想检查AssetVersion
组件的路由子项(来自this.props.route.childRoutes
)。我希望这条路线中的子元素(基于给定的路由)。但我得到的是assets
和applications
,因为Menu
更高且“#34}已修复&#34;在组件树中。
如何在Menu
内的我的应用中访问最新组件的路由?