我刚刚从react-router-v3迁移到v4,并试图了解整个动态路由哲学。
这是一个更具理论性的问题,所以我还没有任何代码。
让我们说我有MainLayout
组件,它渲染MainMenu
,还有一个基于路由的组件,例如NewsContainer
,如果与/ news /匹配,则会渲染。
在NewsContainer
内,我呈现了一个DetailsPanel
组件,该组件显示有关我的应用等中有多少篇文章的统计信息,以及“欢迎”页面。
如果路线深入到/ news /:category(/ news / sports或其他),我希望将“欢迎”部分更改为该类别的新闻,但我也希望使用DetailsPanel
组件仅显示有关此组件的统计信息。
或者换句话说:我希望父组件NewsContainer
知道其子路由的匹配情况。
我知道我可以使用matchPath
函数来匹配来自父级的子级路由,但是对我来说看起来有点乏味。
我的另一个选择是在/ news /和/ news /:category下的每个组件内部渲染DetailsPanel
,但是首先我想知道React Router 4体系结构中是否缺少某些内容。
谢谢!