简体   繁体   English

ReactJS,react-router:在登录页面中排除导航菜单

[英]ReactJS, react-router: Ecxclude Navigation Menu in Login Page

So I have a LoginPage that looks like this, 所以我有一个LoginPage看起来像这样, 在此处输入图片说明

and when you login, you will be directed to this page: 登录时,您将被定向到此页面: 在此处输入图片说明

now, I want my login page to don't have a navigation and look like this, 现在,我希望我的登录页面没有导航,看起来像这样, 在此处输入图片说明

how can I do that? 我怎样才能做到这一点?

so I have this, in my App.js 所以我有这个,在我的App.js

import React, { Component } from 'react';
import { Route } from 'react-router-dom';
import LoginPage from "./Login";
import Main from "./Main";
import Menu from "./Menu";

class App extends Component {
  constructor(props){
    super(props);
    this.state={
      loginPage:[],
      uploadScreen:[]
    }
  }

  render() {
    return (  
      <div className="ui container"> 
        <Route path="/" exact component={LoginPage} />
        <Menu />
        <Main />
      </div>
    );
  }
}
export default App;

My Menu.js: 我的Menu.js:

import React from 'react';
import { Link } from 'react-router-dom';
import {
  Container,
  Dropdown,
  Menu,
} from 'semantic-ui-react';

const FixedMenuLayout = () => (
  <div>
    <Menu fixed='top' inverted>
      <Container>
        <Menu.Item as='a' header>
          IRC
        </Menu.Item>
        <Menu.Item as={ Link } to= "/upload" >Create Material</Menu.Item>
        <Menu.Item as={ Link } to= "/assign-material" >Assign Material</Menu.Item>
        <Menu.Item as={ Link } to= "/create-group">Create Group</Menu.Item>
        <Menu.Item as={ Link } to= "/assign-doctor">Assign Group</Menu.Item>
        <hr />
        <Dropdown item simple text='Name of Logged In User'>
          <Dropdown.Menu>
            <Dropdown.Item>Log Out</Dropdown.Item>
          </Dropdown.Menu>
        </Dropdown>
      </Container>
    </Menu>

  </div>
)

export default FixedMenuLayout

and my Main.js: 和我的Main.js:

import React from 'react';
import { Route ,Switch } from 'react-router-dom';
import UploadScreen from "./UploadScreen";
import CreateGroup from "./CreateGroup";
import AssignDoctor from "./AssignDoctor";
import AssignMaterial from "./AssignMaterial";

const Main = () => (
  <main>
    <Switch>
        <Route path="/upload" exact component={UploadScreen} />
        <Route path="/assign-material" exact component={AssignMaterial} />
        <Route path="/assign-doctor" exact component={AssignDoctor} />
        <Route path="/create-group" exact component={CreateGroup} />
    </Switch>
  </main>
)

export default Main

I am new in ReactJS so please be considerate in answering and thank you for your time! 我是ReactJS的新手,请在回答时多加体谅,并感谢您的宝贵时间!

my App.js 我的App.js

  render() {
    const path = window.location.pathname;
    return (  
      <div className="ui container"> 
        <Route path="/" exact component={LoginPage} />
        {path !== '/' &&
          <div>
            <Menu />
            <Main />
          </div>
        }
      </div>
    );
  }

and it works now :) 它现在可以工作了:)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM