【发布时间】:2020-01-13 11:26:28
【问题描述】:
我正在尝试在我的应用程序中使用嵌套路由。在这种情况下,商店页面位于 /shop 网址上,我想在 /shop/ 和 CollectionPage 上呈现 CollectionsOverview > 在 /shop/:collection 上,CollectionsOverview 工作正常,但 CollectionPage 不工作。我什至尝试使用像 /shop/abc 这样的硬编码路径,但它仍然无法正常工作..请帮助
我的 react-router-dom 版本是 ^5.0.0
import React from 'react';
import {Route, Switch,Router} from 'react-router-dom';
function CollectionPage() {
return (
<div className="App">
CollectionPage
</div>
);
}
function CollectionsOverview() {
return (
<div className="App">
CollectionsOverview
</div>
);
}
export default function ShopPage({match}){
return(
<div className='shop-page'>
<Router>
<Switch>
<Route exact path={`${match.path}`} component={CollectionsOverview}/>
<Route exact path={`${match.path}/:collectionId `} component={CollectionPage}/>
</Switch>
</Router>
</div>
)
}
【问题讨论】:
-
尝试从第二条路由
CollectionPage中删除exact -
我已经尝试删除这两个。
-
你在更高级别的组件中还有其他
Router和Switch,自然是App.js吗? -
为什么会有2个
CollectionPage功能组件?我想第二个一定是CollectionsOverview。 -
@SultanH。是的,我在 App.js 中有路由器
标签: reactjs react-router react-router-dom