如何让相同的路径路径命中不同的组件

时间:2017-10-15 12:16:34

标签: reactjs react-router react-router-v4

我遇到了路由器路由器及其路由路径的问题。

我有几个链接,比如说

  1. 本地主机:3000 / A
  2. 本地主机:3000 / B
  3. 本地主机:3000 / C
  4. 我的路线设置如下:

    <Route exact path="/:cat" component={Post} />
    

    我的问题是每当我转到三个网址之一时,即1 - &gt; 3,它只会加载第1页,因为它们都符合标准(即path="/:cat")。我是否正确地假设它不会渲染每条路径,因为它们被称为一条路线,因此它不需要渲染,因为“状态”没有改变?

1 个答案:

答案 0 :(得分:3)

它的一个路由和任何匹配路径(/ a或/ b)将呈现该Post组件。

<Route exact path="/:cat" component={Post} />

此路由允许您为每个url呈现Post组件,该组件从/开始,此组件将在this.props.routeParams.cat中包含实际URL。

您可以在Post组件中使用此prop来调用相应的子组件。即检查this.props.routeParams.cat = a,然后致电<ComponentA />