React Router 4:根据子项的不同匹配更改父项组件

时间:2018-11-07 15:54:52

标签: reactjs react-router-v4

我刚刚从react-router-v3迁移到v4,并试图了解整个动态路由哲学。

这是一个更具理论性的问题,所以我还没有任何代码。

让我们说我有MainLayout组件,它渲染MainMenu,还有一个基于路由的组件,例如NewsContainer,如果与/ news /匹配,则会渲染。

NewsContainer内,我呈现了一个DetailsPanel组件,该组件显示有关我的应用等中有多少篇文章的统计信息,以及“欢迎”页面。

如果路线深入到/ news /:category(/ news / sports或其他),我希望将“欢迎”部分更改为该类别的新闻,但我也希望使用DetailsPanel组件仅显示有关此组件的统计信息。

或者换句话说:我希望父组件NewsContainer知道其子路由的匹配情况。

我知道我可以使用matchPath函数来匹配来自父级的子级路由,但是对我来说看起来有点乏味。 我的另一个选择是在/ news /和/ news /:category下的每个组件内部渲染DetailsPanel,但是首先我想知道React Router 4体系结构中是否缺少某些内容。

谢谢!

0 个答案:

没有答案