Reactjs 如何在登录前隐藏菜单

Reactjs 如何在登录前隐藏菜单,reactjs,Reactjs,我有ant design的水平菜单,如何在登录页面中隐藏菜单组件,并在用户访问任何一个受保护的路由后显示。在您的状态中添加booelan变量,并将其设置为真(如果用户已登录) state = { isLoggedIn: false } 然后在您的路由中,由用户操作员检查是否已登录使用 { this.state.isLoggedIn && <PrivateRoute ... /> } {this.state.isLoggedIn&&} 您必须使用来自路由器d

我有ant design的水平菜单,如何在登录页面中隐藏菜单组件,并在用户访问任何一个受保护的路由后显示。

在您的状态中添加booelan变量,并将其设置为真(如果用户已登录)

state = { isLoggedIn: false }
然后在您的路由中,由用户操作员检查是否已登录使用

{ this.state.isLoggedIn && <PrivateRoute   ... /> } 
{this.state.isLoggedIn&&}
  • 您必须使用来自路由器dom的交换机
  • 提取菜单代码并将其作为单独的组件(不需要 但在将来的任何时候更改布局都很容易) 然后将菜单组件包装在受保护的内部 路线
  • 然后在菜单组件内部,您可以使用this.props.children加载 你好组件
下面是代码示例(我刚刚将菜单组件命名为布局)…只需添加新的私有路由,它将与菜单一起显示。如果是公共路线,则不会显示菜单


添加此项后,我的登录页面也包含了我不需要的菜单项。您能否帮助我如何在登录页面上隐藏菜单并在其他页面上显示,现在在登录页面上有一个名为“hello”的菜单,我不想在那里显示它,但它应该在我登录后出现。我看不到任何更改,你能告诉我你在哪里更新的吗。你看到变化了吗?是的,我看到变化了。但这将无法满足我的目的,我面临的问题是,我从一个没有菜单的状态呼叫,因此登录后它会在没有菜单的情况下登录到私有组件页面,如果我重新加载页面,它会显示带有私有组件页面的菜单。如果您对答案满意,您可以向上投票。。。谢谢