获取路线不带参数与之反应路由器
问题描述:
我有这个路由架构获取路线不带参数与之反应路由器
<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”将呈现一个列表的第二页,在底部有一个导航菜单Link元素到前面的或后面的页面(3,4,5等或/路径路径是第一页)
要创建此菜单,我必须知道内部路线“/ admin/posts /:页面“的父路线的基路径,但在道具中没有”indexroute“对象
如何ca ñ我解决这个问题?我可以在代码中设置明显的路径,但我想重复使用这个组件,所以这不是一个可行的解决方案
编辑:我可以使用正则表达式来拼接来自location.pathname的字符串,但我不太喜欢这个解决方案
答
鉴于<Route path="/admin/posts/:page" component={PostsAdminList} />
,PostsAdminList
组件将获得一个道具叫params
,您可以通过this.props.params.page
访问page
。