javascript - 使用Router和Links在同一个地方渲染所有组件
问题描述
我有一个侧边栏和一个在 App 组件中呈现的 TopNav。
我的层次结构就像
Index > App > SideBar [> Lnks] = TopNav [> Links] = Content
我的意思是说 MyApp
是在里面渲染的Index
。里面App
有 3 个组件,分别命名为Topnav、SideNav、Content。我希望Topnav ,Sidenav
每次都可用,但这些导航中给出的链接应该在Content
. 我怎么会这样?
下面是我的 App.js
class App extends React.Component {
render() {
return (
<div>
<SideNav /> //SideNav should be rendered always
<TopNav /> //This one too
<div className={'content'}>
Render All the data from the links in Sidenav and Topnav here.
</div>
</div>
);
}
}
我的 index.js 看起来像下面的代码
ReactDOM.render(
<App/>, document.getElementById('root'));
这是我想要做的确切演示。
我只想知道Routing
配置。放置路由配置的内容和位置
解决方案
这个 app.js 工作
import React from 'react';
import { Switch, Route } from 'react-router-dom';
import SideNav from './Components/SideNav';
import TopNav from './Components/TopNav';
import Home from './Components/Home';
import Stuff from './Components/Stuff';
import Noroute from './Components/Noroute';
function App() {
return (
<div className="App">
<SideNav/>
<TopNav/>
<Switch>
<Route exact path='/' component={Home} />
<Route path='/stuff' component={Stuff} />
<Route component={Noroute} />
</Switch>
</div>
);
}
export default App;
并创建文件夹组件并添加您的组件
SideNav.js
import React from "react";
import { Link } from 'react-router-dom';
class SideNav extends React.Component {
render(){
return (
<div>
<ul className="navbar-nav mr-auto">
<li><Link to={'/'} className="nav-link"> Home </Link></li>
<li><Link to={'/stuff'} className="nav-link">Stuffs</Link></li>
</ul>
</div>
)
}
}
export default SideNav;
推荐阅读
- c# - 如何在 C# 中使用 ADO.NET 执行 SQL 命令?
- sql - 列出现的百分比分布?
- python - 创建与电压脉冲幅度相等的触发脉冲
- c++ - 从 C++ 填充 QtQuick QML 中定义的 QComboBox 的公认方法是什么?
- arrays - Mongodb 聚合:$reduce 未按预期工作
- install4j - 我需要在我的发行版中包含 Install4J 许可证文本吗?
- swift - 带有 alpha 的 HEVC 同时显示所有帧
- python - Python重新排列分组的字典
- javascript - 与客户拦截器一起使用时,Axios 捕获不起作用
- python - 为什么某些 PDF 文件在 PyPdf2 库中不起作用?