代码之家  ›  专栏  ›  技术社区  ›  Tomasz Mularczyk

反应路由器4,使用动态路径重定向

  •  3
  • Tomasz Mularczyk  · 技术社区  · 7 年前

    用户收到邀请代码如下的电子邮件 http://website.com/invitation/%s 哪里 %s 是邀请代码。

    现在,我想在我的应用程序中重定向该URL,但保留邀请代码如下:

    <Redirect from="/invitation/:code" to="/auth/register/:code" />
    

    因此,当用户单击电子邮件中的链接时:

    http://website.com/invitation/2abc433

    他将被调到:

    http://website.com/auth/register/2abc433

    不幸的是,使用上述重定向组件,他被转移到

    http://website.com/auth/register/:code

    2 回复  |  直到 7 年前
        1
  •  14
  •   Ivan Drinchev    7 年前

    您可以为此使用无状态组件:

    <Route exact path="/invitation/:code" render={props => (
        <Redirect to={`/auth/register/${props.match.params.code}`/>
    )}/>
    

    <Redirect> 不支持直接传递参数的方法。

    演示: https://codesandbox.io/s/8kjq4r1m90

        2
  •  -3
  •   Mushfiq    7 年前

    在ES6中生成以下行

    <Redirect from="/invitation/:code" to="/auth/register/:code" />
    

    到这个

    <Redirect from={`/auth/invitation/${code}`} to={`/auth/register/${code}`} />