index.js中设置公共布局的header、footer和导航
import React,{ Component } from 'react';
import ReactDOM from 'react-dom';
//引入antd导航组件
import { Menu, Icon, Layout } from 'antd';
//引入ant-design样式
import 'antd/dist/antd.css';
//引入路由
import {
BrowserRouter as Router,
Route,
Link
} from 'react-router-dom';
//引入样式
import './index.css';
//引入组件
import PageOne from './pages/PageOne/PageOne';
import PageTwo from './pages/PageTwo/PageTwo';
import PageThree from './pages/PageThree/PageThree';
import * as serviceWorker from './serviceWorker';
const SubMenu = Menu.SubMenu;
const MenuItemGroup = Menu.ItemGroup;
//layout布局元素
const { Header, Footer, Content } = Layout;
class DefaultLayout extends Component{
constructor(props){
super(props)
this.state={
collapsed: true,
}
}
toggleCollapsed = () => {
this.setState({
collapsed: !this.state.collapsed,
});
}
handleClick = (e) => {
console.log('click ', e);
this.setState({
current: e.key,
});
}
render(){
return(
<Router>
<Layout>
<Menu
onClick={this.handleClick}
selectedKeys={[this.state.current]}
mode="horizontal"
>
<Menu.Item key="mail">
<Link to="/"><span><Icon type="mail" /><span>index</span></span></Link>
</Menu.Item>
<SubMenu title={<span className="submenu-title-wrapper"><Icon type="setting" />Navigation Three - Submenu</span>}>
<MenuItemGroup>
<Menu.Item key="setting:1"><Link to="/PageTwo"><span>index</span></Link></Menu.Item>
<Menu.Item key="setting:2"><Link to="/PageThree"><span>index</span></Link></Menu.Item>
</MenuItemGroup>
</SubMenu>
</Menu>
<Layout>
<Header></Header>
<Content>
<Route exact path="/" component={ PageOne } />
<Route path="/PageTwo" component={ PageTwo } />
<Route path="/PageThree" component={ PageThree } />
</Content>
<Footer></Footer>
</Layout>
</Layout>
</Router>
)
}
}
// 配置路由
ReactDOM.render(<DefaultLayout />, document.getElementById('root'));
serviceWorker();