【发布时间】:2021-10-28 10:43:23
【问题描述】:
我目前正在开发一个提供探险的网站,其中一个页面应该有嵌套路由,例如:/expeditions/antarcticasouthgeorgia。
我一直在关注有关此问题的其他一些问题,但我似乎无法让我的实现工作。
我的代码和参考如下所示。我很感激帮助。谢谢!
App.js
class App extends Component {
render() {
return (
<div className="App">
<Router>
<ScrollToTop/>
<NavMenu />
<Switch>
<Route exact path='/' component={Home}/>
<Route exact path="/expeditions" component={Expeditions}/>
<Route path="/expeditions/antarticasouthgeorgia" component={InnerExpeditions}/>
<Route path="/about" component={About}/>
<Route path="/contact" component={Contact}/>
</Switch>
</Router>
</div>
);
}
}
export default App;
Expeditions.js
class Expeditions extends Component {
render() {
const OverviewThumbs = (props) => {
return (
props.data.map((item, index) => {
return (
<Col sm={6} lg={4}>
<Link to={item.url} className={`overview_thumbs overview_thumbs-${index}`} style={{ backgroundImage: `url(${item.image})` }}>
<div className="overview_header">
{item.title}
</div>
</Link>
</Col>
)
})
)
}
const data = [
{
title: 'Antartica & South Georgia',
image: contentImg1,
url: '/antarticasouthgeorgia'
},
]
return (
<div className="page-fade-in expeditions rootPadding">
<Container fluid className="content overview px-0 pb-0" >
<Row className="g-0">
<Router basename="/expeditions">
<OverviewThumbs data={data} />
</Router>
</Row>
</Container>
</div>
);
}
}
export default Expeditions;
参考
React how to create sub pages with react router to display?
【问题讨论】:
-
你能展示一下你现在的行为吗?
标签: javascript reactjs react-router react-router-dom nested-routes