feat: add Suspense

pull/14/head
moonrailgun 4 years ago
parent 60b51f50b5
commit 93861c83ff

@ -1,4 +1,4 @@
import React from 'react'; import React, { Suspense } from 'react';
import { BrowserRouter, Redirect, Route, Switch } from 'react-router-dom'; import { BrowserRouter, Redirect, Route, Switch } from 'react-router-dom';
import { TcProvider, useColorScheme, useLanguage } from 'tailchat-shared'; import { TcProvider, useColorScheme, useLanguage } from 'tailchat-shared';
import clsx from 'clsx'; import clsx from 'clsx';
@ -8,6 +8,7 @@ import { parseColorScheme } from './utils/color-scheme-helper';
import { Helmet } from 'react-helmet'; import { Helmet } from 'react-helmet';
import { useRecordMeasure } from './utils/measure-helper'; import { useRecordMeasure } from './utils/measure-helper';
import { getPopupContainer } from './utils/dom-helper'; import { getPopupContainer } from './utils/dom-helper';
import { LoadingSpinner } from './components/LoadingSpinner';
const MainRoute = Loadable(() => import('./routes/Main')); const MainRoute = Loadable(() => import('./routes/Main'));
@ -19,13 +20,15 @@ const InviteRoute = Loadable(() => import('./routes/Invite'));
const AppProvider: React.FC = React.memo((props) => { const AppProvider: React.FC = React.memo((props) => {
return ( return (
<BrowserRouter> <Suspense fallback={<LoadingSpinner />}>
<TcProvider> <BrowserRouter>
<AntdProvider getPopupContainer={getPopupContainer}> <TcProvider>
{props.children} <AntdProvider getPopupContainer={getPopupContainer}>
</AntdProvider> {props.children}
</TcProvider> </AntdProvider>
</BrowserRouter> </TcProvider>
</BrowserRouter>
</Suspense>
); );
}); });
AppProvider.displayName = 'AppProvider'; AppProvider.displayName = 'AppProvider';

Loading…
Cancel
Save