Skip to content

Commit ac5d6df

Browse files
committed
Fix optimize
1 parent e11d135 commit ac5d6df

File tree

6 files changed

+64
-177
lines changed

6 files changed

+64
-177
lines changed

src/app/App.js

Lines changed: 9 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,92 +1,32 @@
11
import React from "react";
2-
import { Link } from "react-router-dom";
32
import { Route, Switch, Redirect } from "react-router-dom";
4-
import { Layout, Menu, Dropdown, Icon } from "antd";
53

6-
import App from "./containers/index";
7-
import HomePage from "./containers/homePage/index.tsx";
8-
import SubPage from "./containers/subPage/index";
9-
import Login from "./containers/login/index";
10-
11-
const { Header, Content, Footer } = Layout;
12-
13-
export default class EnrtyRouter extends React.Component {
14-
constructor(props) {
15-
super(props);
16-
}
17-
18-
handleMenuClick = e => {
19-
if (e.key === "exit") {
20-
sessionStorage.removeItem("access_token");
21-
window.location.hash = "login";
22-
}
23-
};
24-
25-
renderMainPage() {
26-
let selectMenu = window.location.hash.split("/")[1]
27-
? window.location.hash.split("/")[1]
28-
: "homePage";
29-
30-
const menu = (
31-
<Menu onClick={this.handleMenuClick}>
32-
<Menu.Item key="exit">exit</Menu.Item>
33-
</Menu>
34-
);
4+
import Header from "./components/Header";
5+
import HomePage from "./containers/homePage";
6+
import SubPage from "./containers/subPage";
7+
import Login from "./containers/login";
358

9+
export default class App extends React.Component {
10+
render() {
3611
return (
3712
<React.Fragment>
3813
{/* Header */}
39-
<Header className="header">
40-
<Menu
41-
theme="dark"
42-
mode="horizontal"
43-
defaultSelectedKeys={["homePage"]}
44-
style={{ lineHeight: "64px" }}
45-
selectedKeys={[selectMenu]}
46-
>
47-
<Menu.Item key="homePage">
48-
<Link to="/">HomePage</Link>
49-
</Menu.Item>
50-
<Menu.Item key="subPage">
51-
<Link to="/subPage">SubPage</Link>
52-
</Menu.Item>
53-
54-
<Menu.Item key="user" style={{ float: "right" }}>
55-
<Dropdown overlay={menu} onClick={this.handleMenuClick}>
56-
<a className="ant-dropdown-link">
57-
Guest<Icon type="down" />
58-
</a>
59-
</Dropdown>
60-
</Menu.Item>
61-
</Menu>
62-
</Header>
14+
<Header />
6315

6416
{/* main content */}
6517
<Switch>
6618
<Route
6719
exact
6820
path="/"
6921
component={() => {
70-
if (!sessionStorage.getItem("access_token")) {
22+
if (!sessionStorage.getItem("access_token"))
7123
return <Redirect to="/login" />;
72-
} else {
73-
return <HomePage />;
74-
}
24+
else return <HomePage />;
7525
}}
7626
/>
7727
<Route path="/subPage" component={SubPage} />
7828
<Route path="/login" component={Login} />
7929
</Switch>
80-
81-
</React.Fragment>
82-
);
83-
}
84-
85-
render() {
86-
const isAuthenticated = sessionStorage.getItem("access_token");
87-
return (
88-
<React.Fragment>
89-
{isAuthenticated ? this.renderMainPage() : <Login />}
9030
</React.Fragment>
9131
);
9232
}

src/app/components/Header.js

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
import React from "react";
2+
import { Layout, Menu, Dropdown, Icon } from "antd";
3+
import { Link } from "react-router-dom";
4+
5+
const { Header } = Layout;
6+
7+
const HeaderComponent = () => {
8+
let selectMenu = window.location.hash.split("/")[1]
9+
? window.location.hash.split("/")[1]
10+
: "homePage";
11+
12+
const menu = (
13+
<Menu onClick={handleMenuClick}>
14+
<Menu.Item key="exit">exit</Menu.Item>
15+
</Menu>
16+
);
17+
18+
const handleMenuClick = e => {
19+
if (e.key === "exit") {
20+
sessionStorage.removeItem("access_token");
21+
window.location.hash = "login";
22+
}
23+
};
24+
25+
return (
26+
<Header className="header">
27+
<Menu
28+
theme="dark"
29+
mode="horizontal"
30+
defaultSelectedKeys={["homePage"]}
31+
style={{ lineHeight: "64px" }}
32+
selectedKeys={[selectMenu]}
33+
>
34+
<Menu.Item key="homePage">
35+
<Link to="/">HomePage</Link>
36+
</Menu.Item>
37+
<Menu.Item key="subPage">
38+
<Link to="/subPage">SubPage</Link>
39+
</Menu.Item>
40+
41+
<Menu.Item key="user" style={{ float: "right" }}>
42+
<Dropdown overlay={menu} onClick={handleMenuClick}>
43+
<a className="ant-dropdown-link">
44+
Guest<Icon type="down" />
45+
</a>
46+
</Dropdown>
47+
</Menu.Item>
48+
</Menu>
49+
</Header>
50+
);
51+
};
52+
53+
export default HeaderComponent;

src/app/containers/index.jsx

Lines changed: 0 additions & 81 deletions
This file was deleted.

src/app/containers/index.less

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/app/containers/login/index.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ const error = () => {
1111
};
1212

1313
export class Login extends React.Component {
14-
componentWillMount() {
14+
componentDidMount() {
1515
sessionStorage.clear();
1616
}
1717

@@ -26,7 +26,7 @@ export class Login extends React.Component {
2626
if (!err) {
2727
console.log("Received values of form: ", values);
2828
sessionStorage.setItem("access_token", "guest");
29-
window.location.hash = "#";
29+
window.location.hash = "/"
3030
}
3131
} else {
3232
error();

src/routes.js

Lines changed: 0 additions & 20 deletions
This file was deleted.

0 commit comments

Comments
 (0)