Skip to content

Commit 091752b

Browse files
committed
✨ feat: 라우트 기반 코드 스플리팅 적용
1 parent 788b25b commit 091752b

File tree

1 file changed

+22
-16
lines changed

1 file changed

+22
-16
lines changed

src/App.jsx

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,33 @@
11
import './assets/styles/base.scss';
22
import { Route, Routes } from 'react-router-dom';
3+
import { Suspense, lazy } from 'react';
34
import Header from './components/layout/Header/Header';
4-
import RecipientList from './pages/RecipientList/RecipientList';
5-
import Home from './pages/Home/Home';
6-
import CreateRecipient from './pages/CreateRecipient/CreateRecipient';
7-
import Recipient from './pages/Recipient/Recipient';
8-
import MessageForm from './pages/MessageForm/MessageForm';
5+
6+
const RecipientList = lazy(() => import('./pages/RecipientList/RecipientList'));
7+
const Home = lazy(() => import('./pages/Home/Home'));
8+
const CreateRecipient = lazy(
9+
() => import('./pages/CreateRecipient/CreateRecipient'),
10+
);
11+
const Recipient = lazy(() => import('./pages/Recipient/Recipient'));
12+
const MessageForm = lazy(() => import('./pages/MessageForm/MessageForm'));
913

1014
export default function App() {
1115
return (
1216
<>
1317
<Header />
14-
<Routes>
15-
<Route path="/" element={<Home />} />
16-
<Route path="/list" element={<RecipientList />} />
17-
<Route path="/post" element={<CreateRecipient />} />
18-
<Route path="/post/:id" element={<Recipient showDelete={false} />} />
19-
<Route
20-
path="/post/:id/edit"
21-
element={<Recipient showDelete={true} />}
22-
/>
23-
<Route path="/post/:id/message" element={<MessageForm />} />
24-
</Routes>
18+
<Suspense fallback={<div>로딩중...</div>}>
19+
<Routes>
20+
<Route path="/" element={<Home />} />
21+
<Route path="/list" element={<RecipientList />} />
22+
<Route path="/post" element={<CreateRecipient />} />
23+
<Route path="/post/:id" element={<Recipient showDelete={false} />} />
24+
<Route
25+
path="/post/:id/edit"
26+
element={<Recipient showDelete={true} />}
27+
/>
28+
<Route path="/post/:id/message" element={<MessageForm />} />
29+
</Routes>
30+
</Suspense>
2531
</>
2632
);
2733
}

0 commit comments

Comments
 (0)