【问题标题】:Redirect with matched parameters with react-router-dom doesn't work使用 react-router-dom 使用匹配的参数重定向不起作用
【发布时间】:2018-09-02 09:02:54
【问题描述】:

我正在使用react-router-dom:4.3.0-rc.3。
路由组件

<Switch>
  <Redirect from='/p/:userId' to='/p/:userId/main' />
  <Route path="/p/:userId/main" component={Main} />
</Switch>

当我得到一个 url /p/123456 它重定向到 /p/:userId/main 并丢失了 userId。
我对此感到困惑。在官方网站上,我无法得到答案。

【问题讨论】:

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


    【解决方案1】:

    &lt;Redirect&gt; 不进行任何模式编译。您必须为其提供要重定向到的实际 URI。

    我将采取的方法是使用&lt;Route&gt; 而不是&lt;Redirect&gt; 进行匹配,然后使用解析的参数来构建重定向URI。

    <Route path="/p/:userId" render={({ match }) => (
      <Redirect to={`${match.url}/main`} />
    )} />
    

    【讨论】:

      猜你喜欢
      • 2018-05-21
      • 2021-07-27
      • 2021-02-11
      • 2020-04-23
      • 2021-07-24
      • 1970-01-01
      • 2020-09-02
      • 2018-07-31
      • 1970-01-01
      相关资源
      最近更新 更多