Reactjs 隐藏/显示导航栏

Reactjs 隐藏/显示导航栏,reactjs,react-router,navbar,router,nav,Reactjs,React Router,Navbar,Router,Nav,我有一个问题时,试图隐藏我的登录页面上的导航栏,但我不知道如何做到这一点 您可以在此处看到我的代码: render() { return ( <Router> <div > <Nav /> <button type="button" className="form-submit_logout" onClick= {this.handleLogout.bind(thi

我有一个问题时,试图隐藏我的登录页面上的导航栏,但我不知道如何做到这一点

您可以在此处看到我的代码:

    render() {
    return (
      <Router>
          <div >
          <Nav />
          <button type="button" className="form-submit_logout" onClick= 
{this.handleLogout.bind(this)}>Logout</button>

          <Route path="/" exact component={Login}/>
          <Route path="/ChooseRole" exact component={ChooseRole}/>

          <Route path="/DashboardGeek" exact component= . 
{DashboardGeek}/>
          <Route path="/DashboardAdmin" exact component= . 
{DashboardAdmin}/>
          </div>
      </Router>
render(){
返回(
注销

请帮我解决这个问题。谢谢你这是因为你有根级别的组件,所以它可以在所有页面中呈现


尝试将其作为子组件分别包含到
ChooseRole
DashboardGeek
DashboardAdmin
组件中。这应该可以解决问题。

这是因为组件位于根级别,因此它将在所有页面中呈现


尝试将它作为子组件分别包含到
ChooseRole
DashboardGeek
DashboardAdmin
组件中。这应该可以解决问题。

有几种方法可以解决这个问题,这取决于应用程序的规模,但最简单的方法如下

我假设您在应用程序或全局状态中使用布尔值或用户对象?请尝试添加布尔值以呈现导航,如:
{this.state.loggedIn?:''}


您还可以生成一个“AppTemplate”组件,该组件将路由作为
道具.子对象传递,或将其包含在每个页面中。

有几种方法可以解决此问题,这取决于应用程序的规模,但我认为最简单的方法如下

我假设您在应用程序或全局状态中使用布尔值或用户对象?请尝试添加布尔值以呈现导航,如:
{this.state.loggedIn?:''}


您还可以生成一个“AppTemplate”组件,将路由作为
props.children
传递或包含在每个页面中。

您必须创建单独的文件/定义单独的类,表示
ChooseRole
DashboardGeek
DashboardAdmin
必须创建单独的文件/定义单独的类,表示
ChooseRole
DashboardGeek
DashboardAdmin
。在其呈现方法中,只需包含