【发布时间】:2020-06-21 23:55:11
【问题描述】:
通过我对 React Router 所做的研究,似乎每个在线示例 React Router 代码始终存储在 App.js 文件中。
如果您想将路由器用于边栏、页眉或页脚中的链接怎么办?
具体来说,这是我正在学习实现 React Router 的示例:
https://www.freecodecamp.org/news/a-complete-beginners-guide-to-react-router-include-router-hooks/
期望的结果:使用组件attribute 链接到站点地图页面的路由。
App.js
import React from 'react';
import Header from './components/Header';
import Hero from './components/Hero';
import Main from './components/Main';
import Footer from './components/Footer';
import Breadcrumbs from './components/Breadcrumbs';
import Recent from './components/Recent';
function App() {
return (
<div className="App">
<Header/>
<Breadcrumbs/>
<Hero/>
<Main/>
<Recent/>
<Footer/>
</div>
);
}
export default App;
Footer.js
import React from 'react';
import { BrowserRouter, Route, Link } from 'react-router-dom';
import Container from 'react-bootstrap/Container';
import Row from 'react-bootstrap/Row';
import Col from 'react-bootstrap/Col';
import SitemapPage from '../components/pages/SitemapPage';
const Footer = () => {
return(
<footer>
<Container id="footer">
<Row>
<Col className="col menu" xs="6" md="12">
<p className="text-right">
<BrowserRouter>
<Link to="/sitemap/">Sitemap</Link>
<a href="/">Terms</a>
<a href="/">Privacy</a>
<Route path="/sitemap/" component={SitemapPage} />
</BrowserRouter>
</p>
</Col>
</Row>
</Container>
</footer>
);
};
export default Footer;
SitemapPage.js
import React from 'react';
import Header from '../Header';
import Breadcrumbs from '../Breadcrumbs';
import Footer from '../Footer';
const SitemapPage = () => {
return(
<div className="sitemap page">
<Header />
<Breadcrumbs />
<p>Sitemap page</p>
<Footer />
</div>
);
};
export default SitemapPage;
可以想象,我不是唯一一个想要在整个网站上设置带有链接的路线的开发人员。
如果没有给我完整的答案,有人可以发表评论并举出与此类似的好例子吗?
【问题讨论】:
-
也许是时候在代码中引入 props 了?
标签: reactjs react-router react-router-v4 react-router-dom react-component