1 打开项目引入react-router-dom
yarn add react-router-dom
2 创建配置文件(src/config/menuConfig)
//动态菜单
const menuList = [
{
'title': "首页",
'key': '/home'
}, {
'title': "机器人设置",
'key': '/robot',
'children': [
{
'title': "开启",
'key': '/robot/start',
}
]
}
];
export default menuList;
3 导航组件(src/components/NavLeft/index.js)调用菜单
import React, {Component} from 'react';
import {Menu} from "antd";
import menuConfig from '../../config/menuConfig';
const SubMenu = Menu.SubMenu;
const MenuItem = Menu.Item;
export default class Index extends Component {
componentWillMount() {
const menuList = this.renderMenu(menuConfig);
console.log(menuList);
this.setState({
menuList
})
}
//使用递归
renderMenu = (data) => {
return data.map((item) => {
if (item.children) {
return (
<SubMenu key={item.key} title={item.title}>
{this.renderMenu(item.children)}
</SubMenu>
)
} else {
return (
<MenuItem key={item.key} title={item.title}>
{item.title}
</MenuItem>
)
}
})
};
render() {
return (
<Menu style={{width: 150}}
theme='dark'>
{this.state.menuList}
</Menu>
);
}
}
4 显示效果