Reactjs 如何使用react router从登录页面隐藏导航栏?

Reactjs 如何使用react router从登录页面隐藏导航栏?,reactjs,navbar,Reactjs,Navbar,我试图在登录页面中隐藏导航栏,但找不到方法。我是新来的,有人能帮我吗?提前感谢:) 这是我的App.js组件 从“React”导入React; 从“react router dom”导入{Route,Switch}; 类应用程序扩展了React.Component{ render(){ 返回( ) } }; 导出默认应用程序; 这是我的index.js文件 从“React”导入React; 从“react dom”导入react dom; 从“react router dom”导入{Brows

我试图在登录页面中隐藏导航栏,但找不到方法。我是新来的,有人能帮我吗?提前感谢:)

  • 这是我的App.js组件
  • 从“React”导入React;
    从“react router dom”导入{Route,Switch};
    类应用程序扩展了React.Component{
    render(){
    返回(
    )
    }
    };
    导出默认应用程序;
    
  • 这是我的index.js文件
  • 从“React”导入React;
    从“react dom”导入react dom;
    从“react router dom”导入{BrowserRouter};
    从“./App”导入应用程序;
    ReactDOM.render(
    ,
    document.getElementById('root'))
    );
    
    试试React路由器。然后,可以根据位置有条件地进行渲染

    import React from "react";
    import { Route, Switch, useLocation } from 'react-router-dom';
    
    const App = () => {
      const { pathname } = useLocation();
      return (
        <div> 
         { pathname !== 'signin' && <NavBar /> }
    

    您好,您可以通过以下方式使用
    'react-router-dom'
    提供的路由器

    import React from "react";
    import { Route, Switch, withRouter } from 'react-router-dom';
    
    
    class App extends React.Component {
          render() {
    
            return (
                <div>
                   
                    {this.props.location.pathname !== '/signin' && <NavBar />}
                    <Switch>
                        <Route exact={true} path='/' component={HomePage} />
                        <Route path='/men' component={MensPage} />
                        <Route path='/woman' component={WomansPage} />
                        <Route path='/signin' component={SignInAndSignUpPage} />
                    </Switch>
                </div>
            )
    
        }
        };
    
        export default withRouter(App);
    
    从“React”导入React;
    从“react router dom”导入{Route,Switch,withRouter};
    类应用程序扩展了React.Component{
    render(){
    返回(
    {this.props.location.pathname!='/sign'&&}
    )
    }
    };
    使用路由器(App)导出默认值;
    

    如果
    this.props.location.pathname==='/sign'
    ,则隐藏
    NavBar

    哇!第一个帖子就这样!激动人心的:)请检查这个,它有你的问题答案。非常感谢。它工作得很好。希望你有一个美好的一天,先生:)@我们很高兴听到这个消息。若你们认为答案有用,请将其标记为有效。祝你今天过得愉快,谢谢。我会坚持使用路由器,它现在似乎适合我的需要。祝你一天快乐
    import React from "react";
    import { Route, Switch, useLocation } from 'react-router-dom';
    
    const App = () => {
      const { pathname } = useLocation();
      return (
        <div> 
         { pathname !== 'signin' && <NavBar /> }
    
    import React from "react";
    import { Route, Switch, withRouter } from 'react-router-dom';
    
    class App extends React.Component {
      render() {
        const { location: { pathname } } = this.props;
        return (
          <div> 
           { pathname !== 'signin' && <NavBar /> }
             // ...
      }
    
    export default withRouter(App);
    
    import React from "react";
    import { Route, Switch, withRouter } from 'react-router-dom';
    
    
    class App extends React.Component {
          render() {
    
            return (
                <div>
                   
                    {this.props.location.pathname !== '/signin' && <NavBar />}
                    <Switch>
                        <Route exact={true} path='/' component={HomePage} />
                        <Route path='/men' component={MensPage} />
                        <Route path='/woman' component={WomansPage} />
                        <Route path='/signin' component={SignInAndSignUpPage} />
                    </Switch>
                </div>
            )
    
        }
        };
    
        export default withRouter(App);