2017-02-22 15 views
0

для наших страниц деталей мы маршруты созданыReact: когда пользователь посещает с другой URL - перенаправить его на правый URL

/d/:id 

проблема в том, что многие внешних страницах имеют свои старые идентификаторы и ссылки на их страницы, например /old/:id

Как я могу перенаправить их на правильные маршруты в нашем приложении? Проблема в том, что они идентифицируют внешние страницы, а не те, которые мы используем прямо сейчас. Но у него уже есть массив отображения для этих перенаправлений.

Итак, как лучше всего реагировать? пользователь приходит от /old/:id(:-slug) -> goto /d/:id с новым идентификатором.

благодарит заранее.

+0

Вы используете реактивный маршрутизатор? – paqash

+0

Да. мы используем реактивный маршрутизатор –

ответ

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> 
+1

Спасибо. Это работает :) теперь единственная проблема, с которой я сталкиваюсь, что иногда клиенты использовали также/old/id-slug .. , но я найду способ избавиться от пули –

Смежные вопросы