Explorar o código

Optimization: use state to control rendering time

陈帅 %!s(int64=7) %!d(string=hai) anos
pai
achega
ad38d93f88
Modificáronse 3 ficheiros con 12 adicións e 6 borrados
  1. 2 0
      .gitignore
  2. 9 3
      src/pages/Dashboard/Analysis.js
  3. 1 3
      src/pages/layouts/LoadingPage.js

+ 2 - 0
.gitignore

@@ -34,3 +34,5 @@ functions/mock
 .umi
 .umi-production
 
+# screenshot
+screenshot

+ 9 - 3
src/pages/Dashboard/Analysis.js

@@ -61,6 +61,7 @@ class Analysis extends Component {
     this.state = {
       salesType: 'all',
       currentTabKey: '',
+      loading: true,
       rangePickerValue: getTimeDistance('year'),
     };
   }
@@ -77,6 +78,11 @@ class Analysis extends Component {
       dispatch({
         type: 'chart/fetch',
       });
+      setTimeout(() => {
+        this.setState({
+          loading: false,
+        });
+      }, 1000);
     });
   }
 
@@ -137,8 +143,8 @@ class Analysis extends Component {
   }
 
   render() {
-    const { rangePickerValue, salesType, currentTabKey } = this.state;
-    const { chart, loading } = this.props;
+    const { rangePickerValue, salesType, loading: propsLoding, currentTabKey } = this.state;
+    const { chart, loading: stateLoading } = this.props;
     const {
       visitData,
       visitData2,
@@ -150,7 +156,7 @@ class Analysis extends Component {
       salesTypeDataOnline,
       salesTypeDataOffline,
     } = chart;
-
+    const loading = propsLoding || stateLoading;
     const salesPieData =
       salesType === 'all'
         ? salesTypeData

+ 1 - 3
src/pages/layouts/LoadingPage.js

@@ -31,9 +31,7 @@ function formatter(data, parentPath = '', parentAuthority, parentName) {
     return result;
   });
 }
-/**
- * 根据菜单取得重定向地址.
- */
+// get meun map data
 const MenuData = formatter(routerConfig[1].routes);
 
 class LoadingPage extends PureComponent {