React-Router 4,带动态路径的重定向

时间:2017-10-11 08:52:09

标签: reactjs react-router

用户会收到一封包含http://website.com/invitation/%s邀请码的电子邮件,其中%s是邀请码。

现在我想在我的应用中重定向该网址,但保留邀请码如:

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

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

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

他将被转移到:

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

不幸的是,使用上面的Redirect组件,他被转移到

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

2 个答案:

答案 0 :(得分:6)

您可以使用无状态组件:

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

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

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

答案 1 :(得分:-1)

在ES6中创建以下行

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

到此

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