reactjs - react中基于路由条件渲染组件
问题描述
您好,我如何根据路由有条件地渲染我的组件?
我的 app.js 的例子
const App = () => (
<Container fluid>
<Row>
<Col lg="2">
<Sidebar />
</Col>
<Col lg="10">
<main>
<Route exact path="/" component={Home} />
<Route exact path="/login" component={Login} />
</main>
</Col>
</Row>
</Container>
)
在这种情况下,如果路由是/login,我想隐藏我的侧边栏组件
解决方案
您可以添加一个Switch
不为/login
路由呈现任何内容,但Sidebar
为每个其他路由呈现的。
const App = () => (
<Container fluid>
<Row>
<Col lg="2">
<Switch>
<Route path="/login" />
<Route path="/" component={Sidebar} />
</Switch>
</Col>
<Col lg="10">
<main>
<Switch>
<Route exact path="/" component={Home} />
<Route path="/login" component={Login} />
</Switch>
</main>
</Col>
</Row>
</Container>
);
推荐阅读
- javascript - 在 Jest for Node 应用程序中模拟环境和/或导出的常量
- javascript - Javascript,点击时需要返回到某个位置
- c - 将for循环程序修改为while循环程序的问题
- c# - 何时将样式内的 ControlTemplate 定义为资源?
- javascript - 如何用 Jest 测试这个事件
- azure-ad-b2c - B2c 自定义策略和内置策略组合 - 检索用户名
- automated-tests - 在赛普拉斯仪表板上哪里可以找到代码覆盖率
- javascript - 正则表达式在 3 位和 4 位数字后插入破折号
- python - How to detect a Python type implements buffer protocol or not?
- python - Replace " " with Space in a separated list