2016-06-16 2 views
1

я react-router, даже пытался <Redirect .. />, я не могу перенаправить к /, основной проблемой является / это из других маршрутов , поэтому мне нужно использовать <Redirect from="*" to="" />, кажется, не работает.React-маршрутизатор автоматически перенаправлять маршрут к корню «/», за исключением «/ главный»

тогда мне также нужно предотвратить /main Перенаправление /, я поставил <Redirect .. > после <Route component={MainView} path="main">

другое требование, как сделать localhost:3000 в localhost:3000/ использовать AppIndex IndexRoute

пожалуйста, проверьте код ниже:

import MainView from 'components/MainView'; 
import ThemeIndex from 'components/ThemeIndex'; 
import AppIndex from 'components/ThemeIndex'; 
import Shop from 'components/Shop'; 
import App from 'components/App'; 

export default (
    <Route component={App} path="/"> 
     <IndexRoute component={AppIndex}></IndexRoute> 
     <Route component={MainView} path="main"> 
     <IndexRoute component={ThemeIndex}></IndexRoute> 
     </Route> 
     <Redirect from="*" to="" /> 
    </Route> 
); 

есть идеи?

+0

Зачем вам тянущая косая черта? – Chris

ответ

2

Вместо того чтобы оставлять to пустую строку, вы должны указать путь, что означает <Redirect from="*" to="/" /> в этом случае.

Чтобы сделать локальный адрес: 3000 на localhost: 3000 /, вам не нужно ничего делать, ваш текущий код уже выполняет свою работу. Если вы идете в корневой URL любого веб-сайта, Say http://stackoverflow.com и попробовать тип location.pathname в консоли, вы получите "/"

Пожалуйста, спросите меня, если у вас есть какие-либо другие проблемы.

+0

Да, вы правы, спасибо! –

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