提交 15b499dc 编写于 作者: W Wei Zhu 提交者: 陈帅

refactor: use a properer method name for menu data (#2937)

上级 ad33da59
...@@ -20,9 +20,8 @@ import Exception403 from '../pages/Exception/403'; ...@@ -20,9 +20,8 @@ import Exception403 from '../pages/Exception/403';
const { Content } = Layout; const { Content } = Layout;
// Conversion router to menu. function mapRoutesToMenu(routes, parentAuthority, parentName) {
function formatter(data, parentAuthority, parentName) { return routes
return data
.map(item => { .map(item => {
if (!item.name || !item.path) { if (!item.name || !item.path) {
return null; return null;
...@@ -42,7 +41,7 @@ function formatter(data, parentAuthority, parentName) { ...@@ -42,7 +41,7 @@ function formatter(data, parentAuthority, parentName) {
authority: item.authority || parentAuthority, authority: item.authority || parentAuthority,
}; };
if (item.routes) { if (item.routes) {
const children = formatter(item.routes, item.authority, locale); const children = mapRoutesToMenu(item.routes, item.authority, locale);
// Reduce memory usage // Reduce memory usage
result.children = children; result.children = children;
} }
...@@ -52,7 +51,7 @@ function formatter(data, parentAuthority, parentName) { ...@@ -52,7 +51,7 @@ function formatter(data, parentAuthority, parentName) {
.filter(item => item); .filter(item => item);
} }
const memoizeOneFormatter = memoizeOne(formatter, isEqual); const memoizedMapRoutesToMenu = memoizeOne(mapRoutesToMenu, isEqual);
const query = { const query = {
'screen-xs': { 'screen-xs': {
...@@ -145,7 +144,7 @@ class BasicLayout extends React.PureComponent { ...@@ -145,7 +144,7 @@ class BasicLayout extends React.PureComponent {
const { const {
route: { routes, authority }, route: { routes, authority },
} = this.props; } = this.props;
return memoizeOneFormatter(routes, authority); return memoizedMapRoutesToMenu(routes, authority);
} }
/** /**
...@@ -154,16 +153,16 @@ class BasicLayout extends React.PureComponent { ...@@ -154,16 +153,16 @@ class BasicLayout extends React.PureComponent {
*/ */
getBreadcrumbNameMap() { getBreadcrumbNameMap() {
const routerMap = {}; const routerMap = {};
const mergeMenuAndRouter = data => { const flattenMenuData = data => {
data.forEach(menuItem => { data.forEach(menuItem => {
if (menuItem.children) { if (menuItem.children) {
mergeMenuAndRouter(menuItem.children); flattenMenuData(menuItem.children);
} }
// Reduce memory usage // Reduce memory usage
routerMap[menuItem.path] = menuItem; routerMap[menuItem.path] = menuItem;
}); });
}; };
mergeMenuAndRouter(this.getMenuData()); flattenMenuData(this.getMenuData());
return routerMap; return routerMap;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册