我如何从“反应孩子”路线导航回到父母

时间:2020-05-23 20:23:18

标签: reactjs react-router react-router-dom react-router-v4

在我的应用程序中,我有一个博客 module 。当路由匹配“ / blog”时,将根据以下条件呈现Blog根组件:

<Route path="/blog" component={BlogRoot} />

在此组件中,有一个子路由器,为:

<BrowserRouter>
  <Switch>
    <Route path={`${match.path}/:slug`} component={BlogPost} />
    <Route path={match.path} exact component={BlogListing} />
  </Switch>
</BrowserRouter>

我无法从BlogPost组件(与${match.path}/:slug匹配)导航回到列表(与path={match.path} exact匹配的列表)。在“博客发布”路线上时,使用Link to="/blog"不会呈现“博客列表”组件(它停留在当前的BlogPost上)。

我在做什么错了?

谢谢。

1 个答案:

答案 0 :(得分:1)

它停留在同一组件中的原因是,它找不到下一条路线。 为此,您需要先定义动态路由(/:slug),然后使用组件路由。