zahmis 5 лет назад
Родитель
Сommit
503a73a8bb
1 измененных файлов с 22 добавлено и 12 удалено
  1. 22 12
      src/client/js/components/PageList.jsx

+ 22 - 12
src/client/js/components/PageList.jsx

@@ -4,6 +4,9 @@ import PropTypes from 'prop-types';
 import Page from './PageList/Page';
 import { withUnstatedContainers } from './UnstatedUtils';
 
+import { withLoadingSppiner } from './SuspenseUtils';
+
+
 import AppContainer from '../services/AppContainer';
 import PageContainer from '../services/PageContainer';
 
@@ -12,29 +15,36 @@ const PageList = (props) => {
   const { path } = pageContainer.state;
 
   const [pages, setPages] = useState(null);
-  const [isLoading, setIsLoading] = useState(false);
+  // const [spinnerError, setSpinnerError] = useState(null);
 
   const getPageList = useCallback(async() => {
     const res = await appContainer.apiv3Get('/pages/list', { path });
     setPages(res.data.pages);
-    setIsLoading(true);
   }, [appContainer, path]);
 
   useEffect(() => {
     getPageList();
   }, [getPageList]);
 
-
-  if (isLoading === false) {
-    return (
-      <div className="wiki">
-        <div className="text-muted text-center">
-          <i className="fa fa-2x fa-spinner fa-pulse mr-1"></i>
-        </div>
-      </div>
-    );
+  if (pages == null) {
+    // throw (async() => {
+    //   try {
+    //     await hoge;
+    //   }
+    //   catch (err) {
+    //     setSpinnerError('hoge');
+    //     return spinnerError;
+    //   }
+    // });
+    throw new Promise(async() => {
+      try { await [hoge] }
+      catch (err) {
+        console.log('hoge');
+      }
+    });
   }
 
+
   return pages.map(page => (
     <li key={page._id}>
       <Page page={page} />
@@ -44,7 +54,7 @@ const PageList = (props) => {
 
 };
 
-const PageListWrapper = withUnstatedContainers(PageList, [AppContainer, PageContainer]);
+const PageListWrapper = withUnstatedContainers(withLoadingSppiner(PageList), [AppContainer, PageContainer]);
 
 
 PageList.propTypes = {