对于我们的详细信息页面,我们设置了路线
/d/:id
问题是,许多外部网页在其网页上都有旧的ID和链接,例如/old/:id
如何将它们重定向到我们应用中的正确路线? 问题是,他们正在使用外部页面,而不是我们现在使用的那些页面。但是他已经有了这些重定向的映射数组。
那么做出反应的最佳方法是什么?
用户来自/old/:id(:-slug) -> goto /d/:id
,新ID。
提前感谢。
答案 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>