2016-08-07 17 views
1

これにオンラインで答えが見つかりませんでしたが、基本的に私のルートルート(/)から 'posts'にアプリケーションが自動的にリダイレクトされるようにします。だからwww.app.com/user/1www.app.com/user/1/postsに変わります反応ルータでネストされたルートのルートからどのようにリダイレクトするのですか?

私はRedirectを使ってみましたが、実際には何もしませんでした。

<Router history={browserHistory}> 
    <Route path="/" component={App}> 
     <IndexRoute component={HomePage}></IndexRoute> 
     <Route path="user/:id" component={UserPage}> 
      <Route path="tracks" component={UserPosts}></Route> 
      <Redirect from="/" to="posts"/> 
     </Route> 
    </Route> 
</Router> 

上記のリダイレクトコンポーネントを試しても、動作しません。何か案は?私たちは私たちのプロジェクトで使用している

答えて

4

溶液はIndexRouteに基づいています。

redirectToMainPageは次のように定義されて
<IndexRoute onEnter={redirectToMainPage} /> 

:これは、動的にリダイレクトを選択することが可能になります

const redirectToMainPage = (nextState, replace, callback) => {  
    replace(null, '/firstPage'); 

    if (callback) { 
     callback(); 
    } 
}; 

また、あなたはIndexRedirectを使用することができます。

<IndexRedirect to="/firstPage" /> 

私はあなたがfrom/を開始し、一般的に、それは空のパスの信頼性が低い場合<Redirect>は絶対パスを取ると信じています。

+0

ありがとうございました! 'IndexRedirect'がトリックをしました! –

関連する問題