Skip to content

Commit c3a7980

Browse files
committed
21-code-split
1 parent ec13264 commit c3a7980

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

app/index.jsx

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
import * as React from "react";
22
import * as ReactDOM from "react-dom/client";
33
import "./index.css";
4-
import Popular from "./components/Popular";
5-
import Battle from "./components/Battle";
64
import { BrowserRouter as Router, Routes, Route } from "react-router-dom";
75
import Nav from "./components/Nav";
8-
import Results from "./components/Results";
6+
import Loading from "./components/Loading";
7+
8+
const Results = React.lazy(() => import("./components/Results"));
9+
const Popular = React.lazy(() => import("./components/Popular"));
10+
const Battle = React.lazy(() => import("./components/Battle"));
911

1012
class App extends React.Component {
1113
state = {
@@ -22,11 +24,13 @@ class App extends React.Component {
2224
<div className={this.state.theme}>
2325
<div className="container">
2426
<Nav theme={this.state.theme} toggleTheme={this.toggleTheme} />
25-
<Routes>
26-
<Route path="/" element={<Popular />} />
27-
<Route path="/battle" element={<Battle />} />
28-
<Route path="/results" element={<Results />} />
29-
</Routes>
27+
<React.Suspense fallback={<Loading />}>
28+
<Routes>
29+
<Route path="/" element={<Popular />} />
30+
<Route path="/battle" element={<Battle />} />
31+
<Route path="/results" element={<Results />} />
32+
</Routes>
33+
</React.Suspense>
3034
</div>
3135
</div>
3236
</Router>

0 commit comments

Comments
 (0)