1、整体分析
公共部分:侧边栏、头部、尾部
实现:src下components创建NavLeft、Header、Footer文件夹,在文件夹里分别创建index.js、index.css
主页:src下admin.js和admin.css,并修改app.js的引入admin;admin.js引入公共部分:如:import Header from './components/Header'(会自动定位到Header文件夹下的index.js)
侧边栏目录数据:
const menuList=[
{
title:'首页',
key:'admin/home'
},
{
title:'UI',
key:'admin/ui',
children:[
{
title:'按钮',
key:'admin/ui/button'
},
]
},
]
渲染侧边栏:使用递归
renderMenu=(data)=>{
return data.map((item)=>{
//如果有子层,递归调用自己
if(item.children){
return <SubMenu title={item.title} key={item.key}>
{this.renderMenu(item.children)}
</SubMenu>
}
//如果没有子层,返回
return <Menu.Item title={item.title} key={item.key}>
{item.title}
</Menu.Item>
})
}
公共方法或者调用第三方组件可以单独写在一个文件里
export default class Methods{
static methods(){}
.....
}
使用:import method from ‘url’
method.methods()
在less中使用预定义颜色
@import '../../url'