【问题标题】:how to have the same route path hit different components如何让相同的路由路径命中不同的组件
【发布时间】:2017-10-15 12:16:34
【问题描述】:

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

我有几个链接,比如说

  1. 本地主机:3000/a
  2. 本地主机:3000/b
  3. 本地主机:3000/c

我的路线是这样设置的:

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

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

【问题讨论】:

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


    【解决方案1】:

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

    &lt;Route exact path="/:cat" component={Post} /&gt;

    此路由将允许您为每个从 / 开始的 url 渲染 Post 组件,并且此组件将在 this.props.routeParams.cat 中包含实际的 url。

    你可以在你的 Post 组件中使用这个 prop 来调用合适的子组件。即检查是否this.props.routeParams.cat = a,然后调用&lt;ComponentA /&gt;

    【讨论】:

    • 谢谢!我对它的工作原理有点困惑,但我现在开始工作了。
    猜你喜欢
    • 1970-01-01
    • 2018-10-16
    • 2018-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-06
    • 2021-04-22
    • 1970-01-01
    相关资源
    最近更新 更多