【问题标题】:Get Route Without Parameters with React Router使用 React Router 获取不带参数的路由
【发布时间】:2016-05-31 13:15:32
【问题描述】:

我有这个路由模式

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

路由“/admin/posts/2”将呈现列表的第二页,底部有一个导航菜单,其中包含链接元素到前一页或后一页(3、4、5 等或 /路由路径即第一页)

要创建此菜单,我必须知道路由“/admin/posts/:page”内的父路由的基本路径,但在道具中没有“indexroute”对象

我该如何解决这个问题?我显然可以在代码中设置路径,但我想重用这个组件,所以这不是一个可行的解决方案

编辑:我可以使用正则表达式从 location.pathname 拼接字符串,但我不太喜欢这个解决方案

【问题讨论】:

    标签: reactjs react-router


    【解决方案1】:

    给定&lt;Route path="/admin/posts/:page" component={PostsAdminList} /&gt;PostsAdminList 组件将收到一个名为params 的道具,您可以通过this.props.params.page 访问page

    【讨论】:

      猜你喜欢
      • 2017-05-08
      • 2015-12-02
      • 2020-09-11
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 2022-01-02
      • 1970-01-01
      • 2021-06-23
      相关资源
      最近更新 更多