diff --git a/src/layouts/BasicLayout.js b/src/layouts/BasicLayout.js
index 3b59e48aef9e2642e6155f7121934bda6ff59367..bf9cf4fe41d5771891fed5d671056d8485ddfe4a 100644
--- a/src/layouts/BasicLayout.js
+++ b/src/layouts/BasicLayout.js
@@ -16,6 +16,7 @@ import logo from '../assets/logo.svg';
import Footer from './Footer';
import Header from './Header';
import Context from './MenuContext';
+import Exception403 from '../pages/Exception/403';
const { Content } = Layout;
@@ -76,6 +77,7 @@ class BasicLayout extends React.PureComponent {
this.getPageTitle = memoizeOne(this.getPageTitle);
this.getBreadcrumbNameMap = memoizeOne(this.getBreadcrumbNameMap, isEqual);
this.breadcrumbNameMap = this.getBreadcrumbNameMap();
+ this.matchParamsPath = memoizeOne(this.matchParamsPath, isEqual);
}
state = {
@@ -156,14 +158,16 @@ class BasicLayout extends React.PureComponent {
return routerMap;
}
+ matchParamsPath = pathname => {
+ const pathKey = Object.keys(this.breadcrumbNameMap).find(key =>
+ pathToRegexp(key).test(pathname)
+ );
+ return this.breadcrumbNameMap[pathKey];
+ };
+
getPageTitle = pathname => {
- let currRouterData = null;
- // match params path
- Object.keys(this.breadcrumbNameMap).forEach(key => {
- if (pathToRegexp(key).test(pathname)) {
- currRouterData = this.breadcrumbNameMap[key];
- }
- });
+ const currRouterData = this.matchParamsPath(pathname);
+
if (!currRouterData) {
return 'Ant Design Pro';
}
@@ -221,6 +225,7 @@ class BasicLayout extends React.PureComponent {
const { isMobile } = this.state;
const isTop = PropsLayout === 'topmenu';
const menuData = this.getMenuData();
+ const routerConfig = this.matchParamsPath(pathname);
const layout = (
{isTop && !isMobile ? null : (
@@ -247,12 +252,15 @@ class BasicLayout extends React.PureComponent {
isMobile={isMobile}
{...this.props}
/>
- {children}
+
+ }>
+ {children}
+
+
);
-
return (