2017-10-15 121 views
0

我遇到了反应路由器及其路由路径的问题。如何让相同的路由路径遇到不同的组件

我有几个链接,说

  1. 本地主机:3000本地主机/
  2. :3000/B
  3. 本地主机:3000/C

和我的路线设置up如下:

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

我的问题是,每当我转到三个URL中的一个,即1→3,它将只加载第1页,因为它们都符合标准(即, path="/:cat")。我正确地假设它不会呈现每条路径,因为它们被称为“一条路线”,因此它不需要呈现为“状态”没有改变?

回答

3

其一条路径和任何匹配路径(/ a或/ b)将呈现该Post组件。

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

这条路线将允许您呈现组件后每个网址,从开始/而这个组件将具有内this.props.routeParams.cat实际的URL。

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

+0

谢谢!我对它的工作原理有点困惑,但我现在正在工作。 –

相关问题