javascript - 有条件的反应路由器
问题描述
我的反应组件如下所示:
class App extends React.Component {
render() {
debugger;
if(!this.props.isUserExist) {
return (
<div>
<Route exact path="/" component={DashboardPage} />
</div>
);
}
return (
<div>
<Switch>
<Route exact path="/" component={HomePage} />
<Route exact path="/list" component={ListPage} />
<Route component={NotFoundPage} />
</Switch>
</div>
);
}
}
我的问题是:有没有更好的方法来使用反应路由器 v4 检查这些条件?这是检查这些条件的最佳方法吗?这是最佳做法吗?请有人帮我解决这个问题!
解决方案
对于单个路径,您可以以更简单的方式使用,
<Route exact path="/" component={()=>this.props.isUserExist?<HomePage/> : <Dashboard/>} />
推荐阅读
- mysql - Mysql count() 与 Left Join 在 500 万条记录上花费超过 10 秒
- python - 通过 PyCharm 中的 pipenv pipfile 安装 kivy.garden 包(matplotlib)
- mysql - 如何获取所有表和每个表中的行数
- python - 我怎样才能让这个脚本运行
- ruby-on-rails - RubyonRails MySQL 选择行列
- python - Pandas - 根据两个条件删除行
- php - 显示列的 sql 查询输出
- c - 我需要帮助,将 C 代码翻译成 Mips,不胜感激
- javascript - 如何在对象中添加项目 - React
- python - 在 Jinja2 中获取错误的值