首页 > 解决方案 > 有条件的反应路由器

问题描述

我的反应组件如下所示:

 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 检查这些条件?这是检查这些条件的最佳方法吗?这是最佳做法吗?请有人帮我解决这个问题!

标签: javascriptreactjsreduxreact-routerreact-redux

解决方案


对于单个路径,您可以以更简单的方式使用,

<Route exact path="/" component={()=>this.props.isUserExist?<HomePage/> : <Dashboard/>} />

推荐阅读