2016-05-31 49 views
2

が、私はこのルーティングスキーマルータ

<Router history={browserHistory}> 
<Route path="/admin" component={AdminApp} onEnter={AdminApp.authCheck} > 
    <Route path="/admin/new" component={NewPostAdmin} /> 
    <Route path="/admin/posts" component={PostsAdmin}> 
     <IndexRoute component={PostsAdminList}/> 
     <Route path="/admin/posts/:page" component={PostsAdminList} /> 
     <Route path="/admin/posts/edit/:newsId" component={EditPostAdmin} /> 
    </Route> 
</Route> 
<Route component={MainApp}> 
    <Route path="/" component={HomeApp}/> 
    <Route path="/:page" component={HomeApp}/> 
    <Route path="/notizie/:newsId" component={SinglePost}/> 
    <Route path="/signup" component={Signup}/> 
</Route> 
</Router> 

ルート「/管理/ポスト/ 2」は、リストの2番目のページをレンダリングします、一番下にあるナビゲーションメニューがありましたリアクトでパラメータを指定せずにルートを取得します。前のページまたは連続するページへのリンク要素付き(3,4,5など、または最初のページである/ルートパス)

このメニューを作成するには、「/ admin/posts /親経路のベースパスを「ページ」するが、小道具には「インデックスルート」オブジェクトはない。

nこの問題を解決しますか?私は明らかにコード内のパスを設定することができますが、これは実行可能な解決策ではないので、このコンポーネントを再利用したいです

編集:私はlocation.pathnameから文字列をスプライスすることができますが、 <Route path="/admin/posts/:page" component={PostsAdminList} />考えるソリューション

答えて

0

は、PostsAdminListコンポーネントはparamsと呼ばれる小道具を受信すると、あなたはthis.props.params.pagepageにアクセスすることができます。