minseob
@msmk5300677
Reviews Written
2
Average Rating
5.0
Posts
Q&A
CRA๋ฅผ ์ฌ์ฉํ์ง ์์์ ๊ฒฝ์ฐ React.lazy์ ๋ํด...
์ ์ข์ ๋ฐฉ๋ฒ์ ์ ์ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค !! ์ฝ๋ ๋ถํ ์ด ์ด๋ฃจ์ด์ง๊ณ ์์ด์์ธ์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง Light House๋ก performance๋ฅผ ์ธก์ ํ์ ๋ ๊ฝค๋ ์ ์๋ฏธํด ๋ณด์ด๋ ์ฐจ์ด๊ฐ ํ์ธ๋๊ธฐ๋ ํ์์ต๋๋ค !! ๋ค๋ง networkํญ์์ lazy loading๋๋ ํ์ผ์ด ํ์ธ๋์ง ์๋ค๋ณด๋, ๋ถํ ์ด ์๋๊ณ ์๋ค๊ณ ํ๋จํ์์ต๋๋ค ! ... ์ ์ํด์ฃผ์ ๋๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ๋ ์๋ํด๋ด์ผ๊ฒ ์ต๋๋ค ใ ใ ๋ง์ ๋์์ด ๋์์ต๋๋ค ! ์ ๋ง ๊ฐ์ฌํฉ๋๋ค ~ ์์ผ๋ก ๋์ฌ ๊ฐ์ ๋ํ ์ ์ตํ๊ฒ ์๊ฐํ๊ฒ ์ต๋๋ค !
- 1
- 4
- 482
Q&A
CRA๋ฅผ ์ฌ์ฉํ์ง ์์์ ๊ฒฝ์ฐ React.lazy์ ๋ํด...
์ ์ฎ๊ธฐ๋ค๊ฐ ์คํ๊ฐ ์์๋ค์ ใ ใ ์ฃ์กํฉ๋๋ค !! Suspense์ Lazy๋ฅผ ์ฌ์ฉํ ๋๋ CRA๋ก ๋ง๋ ํ๋ก์ ํธ๊ฐ ์๋ ๊ฒฝ์ฐ์๋ ์นํฉ ์ค์ ์ด ๋ฐ๋ก ํ์์๋ค๊ณ ๋ฐ์๋ค์ฌ๋ ๊ด์ฐฎ์๊น์!? ๋ฐ๋ก ์นํฉ ์ค์ ์ ํ์ง์๊ณ ์งํํ ํ ๋คํธ์ํฌ ํญ์ ํตํด ํ์ธํด๋ณด์๋๋ฐ, ์ ๋๋ก ์คํ๋ฆฌํ ์ด ์ด๋ฃจ์ด์ง์ง ์๋๊ฒ ๊ฐ์์์ ! (๊ฐ์์์์ฒ๋ผ ํด๋น ๋ผ์ฐํธ์ ์ ๊ทผํ๋ ์์ ์ chunkํ์ผ์ ๋ฐ์์์ผํ๋๋ฐ ๋ฑํ ๋ฐ์์ค์ง ์๋๊ฑธ ๋ณด๋ ์ฒซ ๋ก๋ฉ๋ ๋ค ๋ฐ์์ค๋๊ฒ ๊ฐ์ต๋๋ค ใ ใ ) ๋ฐ์์๊ฒ ์ง๋ง ์กฐ๊ธ๋ง ๋ ์ํฉ์ ๊ตฌ์ฒด์ ์ผ๋ก ๋ง์๋๋ฆฌ๊ณ ์กฐ์ธ์ ๊ตฌํ๊ณ ์ถ์๋ฐ ... ํ๋ฒ๋ง ๋ ์ฝ์ด๋ด์ฃผ์๋ฉด ์ ๋ง ํฐ ๋์์ด ๋ ๊ฒ๊ฐ์ต๋๋ค .. ! ์๋์ ๊ฐ์ด ์์ฑํ ํ ๊ธฐ๋ํ ๊ฒ์ ๋ผ์ฐํธ์ path์ ํด๋นํ๋ ์ฃผ์๋ก ์ ๊ทผํ ๊ฒฝ์ฐ์ ๊ทธ์ ํด๋นํ๋ ์ปดํฌ๋ํธ๊ฐ ๋์ ์ผ๋ก ๋ก๋ฉ๋๋ ๊ฒ์ด์์ต๋๋ค. ( ๊ฐ์์์ ๋ฆฌ์คํธํ์ด์ง์ ๋ทฐํ์ด์ง์ฒ๋ผ ...) ์ ๊ฐ ๊ณ ๋ คํ ์ฌํญ์ ์๋์ ๊ฐ์ด ๋ ๊ฐ์ง์์ต๋๋ค. 1. default๋ก export๋ ์ปดํฌ๋ํธ์ฌ์ผ ํ๋ค. 2. chunkํ์ผ๋ก ์คํ๋ฆฟ๋๊ธฐ ์ํด webpack์ ์ด๋ค ์ค์ ์ด ํ์ํ๊ฐ? 2๋ฒ ์ฌํญ์ ๋ํด์๋ ๋ฐ๋ก ์ค์ ํด์ค ๊ฒ์ด ์๋ค๋ผ๊ณ ํ์ จ๊ณ , 1๋ฒ ์ฌํญ์ ์ ์ง์ผ์ export ํ์๋๋ฐ ์ด๋ ํ ์ค๋ฅ๋ ์์ง๋ง ์ ๋๋ก ๋์ ๋ก๋ฉ์ด ์ด๋ฃจ์ด์ง์ง๋ ์๋ ๊ฒ ๊ฐ์ต๋๋ค... ํน์ ์ ๊ฐ ๋นผ๋จน์ ๊ณ ๋ ค์ฌํญ์ด ์์๊น์ !? ์์นญ์ ํด๋ด๋ lazy๋ฅผ ์ฌ์ฉํ ๋์ ๋ํ ๋ต์ ์ฐพ๊ธฐ๊ฐ ํ๋ค์ด์ ๊ฒฐ๊ตญ ๋ ์ง๋ฌธ๋๋ฆฝ๋๋คใ ใ ๊ฐ์ฌํฉ๋๋ค !! import React, { lazy, Suspense } from 'react'; import { BrowserRouter as Router, Switch, Route } from 'react-router-dom'; import PaymentProvider from './store/PaymentMethod/paymentMethodContext'; import DateInfoProvider from './store/DateInfo/dateInfoContext'; import TransactionInfoProvider from './store/AccountBook/accountBookDataContext'; import ThemeProvider from './store/Theme/themeContext'; import './app.scss'; import GithubLoginProcess from './pages/Login/GithubLoginProcess'; import NaverLoginProcess from './pages/Login/NaverLoginProcess'; const LoginPage = lazy(() => import('./pages/Login')); const CalendarPage = lazy(() => import('./pages/Calendar')); const AccountBookListPage = lazy(() => import('./pages/AccountBook')); const TransactionPage = lazy(() => import('./pages/transaction')); const ChartPage = lazy(() => import('./pages/Chart')); const SettingPage = lazy(() => import('./pages/SettingPage')); const App = () => { if (!localStorage.getItem('theme')) { localStorage.setItem('theme', 'dark'); } return ( ThemeProvider> DateInfoProvider> TransactionInfoProvider> PaymentProvider> Router> Suspense fallback={div>Loading...div>}> Switch> Route path="/" component={AccountBookListPage} exact /> Route path="/login" component={LoginPage} exact /> Route path="/auth/github" component={GithubLoginProcess} exact /> Route path="/auth/naver" component={NaverLoginProcess} exact /> Route path="/calendar" exact> CalendarPage /> Route> Route exact path="/transaction" component={TransactionPage} /> Route path="/chart" component={ChartPage} exact /> Route path="/setting" component={SettingPage} exact /> Switch> Suspense> Router> PaymentProvider> TransactionInfoProvider> DateInfoProvider> ThemeProvider> ); }; export default App;
- 1
- 4
- 482
Q&A
filter์์ index๊ฐ todo๊ฐ์ฒด์ id์ mapping ๋๋ ์ด์ ๊ฐ ๊ถ๊ธํฉ๋๋ค !
์ ๋ฐ๋ก ์ฐ๊ด์ง์ด ์ค๋ช ํด์ฃผ์์ง๋ ์์๋๋ฐ index๊ฐ optionalํ ๋งค๊ฐ๋ณ์์ธ๊ฑธ ๋ชฐ๋๋ค์ .. todo๊ฐ์ฒด์ key๊ฐ์ค ํ๋๋ก ๋งตํ๋๋ค๊ณ ์ฐฉ๊ฐํ์ต๋๋ค..! ์ฌ์ฉ์ ์ MDN์ ํ๋ฒ ์ฐธ๊ณ ํ๋ ์ต๊ด์ ๋ค์ฌ์ผ๊ฒ ๋ค์ใ ใ _๋ผ๋ ์ธ์๋ฅผ ํตํด ๊ฐ๋ ์ฑ์ ๋์ฌ์ฃผ๋ ๊ฟํ๋ ์ ๋ฐฐ์๊ฐ๋๋ค! ์น์ ํ ๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค ใ ใ
- 2
- 2
- 322
Q&A
7๋ถ20์ด ์๊พธ ์ด๋ ๊ฒ ๋จ๋ฉด์ ์ค๋ฅ๋์ค๋ค์
๋ต global๋ก ์ค์น๋์ด์๋ node_mmodules์ ๋ฒ์ ์ด ์๊พธ ์ถฉ๋ํ๋๋ผ๊ตฌ์ ใ ใ ๋ง์ํ์ ๋๋ก ํด๋น ๋ชจ๋๋ง ์ง์ฐ๊ณ ๋๋ ์ ๋์ํ๋ ๊ฒ ๊ฐ์ต๋๋ค ใ ใ ๊ฐ์ฌํฉ๋๋ค !!
- 0
- 8
- 473
Q&A
React, ReactDOM
์ฌ์ํ ์ง๋ฌธ์๋ ์น์ ํ ๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค ใ ใ ! ์ด์ฌํ ์๊ฐํ๊ฒ ์ต๋๋ค~
- 1
- 2
- 272
Q&A
7๋ถ20์ด ์๊พธ ์ด๋ ๊ฒ ๋จ๋ฉด์ ์ค๋ฅ๋์ค๋ค์
์๋ ํ์ธ์ ! ์๋ก์ด ํด๋์์ ์งํ์ ํ์๋๋ฐ, ์ ์ญ์ ์ค์น๋์ด์๋ node_modules์ ์ถฉ๋์ด ์๋๊ฒ ๊ฐ์ต๋๋ค ใ ใ (finder์์ ์ปดํจํฐ๋ก ์ด๋ํ๊ณ , ์ฌ์ฉ์๋ก ์ด๋ํ๋ฉด ์กด์ฌํ๋ node_modules์ ๋๋ค !!) ํด๋น ํด๋๋ฅผ ์์ ์ญ์ ํด ๋ฒ๋ฆฌ๋๊ฒ์ด ๋ฌธ์ ๊ฐ ๋์ง ์์๊น์ !?
- 0
- 8
- 473
Q&A
7๋ถ20์ด ์๊พธ ์ด๋ ๊ฒ ๋จ๋ฉด์ ์ค๋ฅ๋์ค๋ค์
๊ฐ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋๋ฐ ์ด๋ป๊ฒ ํด๊ฒฐํ์ จ๋์ง ๊ถ๊ธํ๋ค์ ! ... ๋ณ๋์ ์ค์น๋์๋๊ฑธ ์ญ์ ํ๊ณ yarn start์ ํด๊ฒฐ๋๊ธฐ๋ ํ๋๋ฐ ์ด๋ฐ์์ผ๋ก ํด๊ฒฐํ๋ ๊ฒ์ด ๋ง๋์ง ๊ถ๊ธํฉ๋๋ค ใ ใ
- 0
- 8
- 473
Q&A
this๊ฐ ๊ฐ๋ฅดํค๋ ๊ฐ์ด...
๊ถ๊ธํ๋ ์ ์ด ์๋ฒฝํ๊ฒ ํด๊ฒฐ๋์์ต๋๋ค ใ ใ ๊ฐ์ฌํฉ๋๋ค !!
- 0
- 2
- 277




