如何在React的登录和注册页面中隐藏导航栏?

Din*_*amy 3 reactjs react-router

我有这样的路线:

<Route handler={AppContainer}>
 <Route path="login" handler={Login} />
 <Route path="signup" handler={Signup} />
 <DefaultRoute handler={Home} />
</Route>
Run Code Online (Sandbox Code Playgroud)

我的AppContainer:

var AppContainer = React.createClass({
  render: function () {
    return (
      <div>
        <Header />
        <RouteHandler />
      </div>
    );
  }
});
Run Code Online (Sandbox Code Playgroud)

在这里,Header组件将在所有页面中呈现。有没有一种方法可以避免在登录和注册页面中出现标题。

小智 5

这意味着您的组件(AppContainer)具有状态。因此,您应该具有以下内容:

var AppContainer = React.createClass({
  
  // state management in here
  
  render: function () {
    let navHeader = this.state.isAuth ? <Header /> : '';
    return (
      <div>
        {navHeader}
        <RouteHandler />
      </div>
    );
  }
});
Run Code Online (Sandbox Code Playgroud)