在我的应用程序中,我有一个博客 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上)。
我在做什么错了?
谢谢。
答案 0 :(得分:1)
它停留在同一组件中的原因是,它找不到下一条路线。
为此,您需要先定义动态路由(/:slug
),然后使用组件路由。