Skip to content

Commit 4954b75

Browse files
authored
Merge pull request #8 from sarveshhome/lazyloading
lazy loading
2 parents bae1530 + 77caace commit 4954b75

File tree

1 file changed

+41
-21
lines changed

1 file changed

+41
-21
lines changed

src/App.js

+41-21
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,51 @@
1+
import React, { Suspense } from 'react';
12
import { Route, Switch, Redirect } from 'react-router-dom';
23

3-
import AllQuotes from './pages/AllQuotes';
4-
import QuoteDetail from './pages/QuoteDetail';
5-
import NewQuote from './pages/NewQuote';
6-
import NotFound from './pages/NotFound';
4+
5+
6+
7+
import LoadingSpinner from './components/ui/LoadingSpinner';
8+
9+
// import AllQuotes from './pages/AllQuotes';
10+
// import QuoteDetail from './pages/QuoteDetail';
11+
// import NewQuote from './pages/NewQuote';
12+
// import NotFound from './pages/NotFound';
713
import Layout from './components/layout/Layout';
814

15+
const NewQuote = React.lazy(() => import('./pages/NewQuote'));
16+
const QuoteDetail = React.lazy(() => import('./pages/QuoteDetail'));
17+
const NotFound = React.lazy(() => import('./pages/NotFound'));
18+
const AllQuotes = React.lazy(() => import('./pages/AllQuotes'));
19+
20+
921
function App() {
1022
return (
1123
<Layout>
12-
<Switch>
13-
<Route path='/' exact>
14-
<Redirect to='/quotes' />
15-
</Route>
16-
<Route path='/quotes' exact>
17-
<AllQuotes />
18-
</Route>
19-
<Route path='/quotes/:quoteId'>
20-
<QuoteDetail />
21-
</Route>
22-
<Route path='/new-quote'>
23-
<NewQuote />
24-
</Route>
25-
<Route path='*'>
26-
<NotFound />
27-
</Route>
28-
</Switch>
24+
<Suspense
25+
fallback={
26+
<div className='centered'>
27+
<LoadingSpinner />
28+
</div>
29+
}
30+
>
31+
<Switch>
32+
<Route path='/' exact>
33+
<Redirect to='/quotes' />
34+
</Route>
35+
<Route path='/quotes' exact>
36+
<AllQuotes />
37+
</Route>
38+
<Route path='/quotes/:quoteId'>
39+
<QuoteDetail />
40+
</Route>
41+
<Route path='/new-quote'>
42+
<NewQuote />
43+
</Route>
44+
<Route path='*'>
45+
<NotFound />
46+
</Route>
47+
</Switch>
48+
</Suspense>
2949
</Layout>
3050
);
3151
}

0 commit comments

Comments
 (0)