React:当用户从其他网址访问时 - 将其重定向到正确的网址

时间:2017-02-22 13:28:23

标签: javascript reactjs url redirect mapping

对于我们的详细信息页面,我们设置了路线

/d/:id

问题是,许多外部网页在其网页上都有旧的ID和链接,例如/old/:id

如何将它们重定向到我们应用中的正确路线? 问题是,他们正在使用外部页面,而不是我们现在使用的那些页面。但是他已经有了这些重定向的映射数组。

那么做出反应的最佳方法是什么? 用户来自/old/:id(:-slug) -> goto /d/:id,新ID。

提前感谢。

2 个答案:

答案 0 :(得分:0)

您可以使用react-router中的Redirect组件,如文档中所述:

https://github.com/ReactTraining/react-router/blob/master/docs/API.md#redirect

答案 1 :(得分:0)

更详细一点,想象您的映射数组如下所示:

var mapping_array = [{ old_id: 1, new_id: 2}, {old_id: 2, new_id: 3}]

你可以试试这个:

var redirects = mapping_array.map(function(mapping) {
  return <Redirect from={'/d/' + mapping.old_id} to={'/d/' + mapping.new_id} />
});

然后在您定义路线的地方添加:

<Router>
     ... //existing routes and configuration
        {redirects}
</Router>