๋ค์ํ ์คํฌ๋กค ๊ธฐ๋ฅ์ ์ฌ๋ฌ๊ฐ์ง ์ฝ๋๋ก ๊ตฌํํด๋ณด์.
yarn
install node_modules
yarn dev
execute app in local as dev mode
src
โโโ apis # api layer
โโโ components # each component of a page
โโโ hooks # custom hooks collection
โโโ pages # app pages
โโโ store # client state collection
โโโ styles # style files
-
apis : axios, swr๋ฅผ ํตํ ์ธํฐํ์ด์ค ๋ฐ ํ์ ๊ตฌํ
-
store : redux๋ฅผ ํตํ ํด๋ผ์ด์ธํธ์ ์ํ ๊ด๋ฆฌ
-
SWR(useSWRInfinite)์ Intersection Observer API๋ฅผ ์ด์ฉํ ๋ฌดํ์คํฌ๋กค
-
4PAGE
๊น์ง๋ง ํธ์ถ โ ๊ทธ์ธ ํธ์ถ์ ๋ฐฉ์ด์ฝ๋ ์์ฑ -
๋ถ์์
ํ ๋ถ๋งํฌ ๊ธฐ๋ฅ -
๋ถ์์
ํ ๋ถ๋งํฌ ํ์ด์ง[์ฐธ๊ณ 1]
๋ถ์์ ํ
๋ถ๋งํฌ ํ์ด์ง (๊ฐ์ธ์ ์ผ๋ก๋ถ์์
ํ์ง๋ง ์์๋ฒํ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ณ ์ถ์ด์ ๊ตฌํํด๋ณด์์ต๋๋ค. ๐ )-
๋ถ์์ ํ ์ด์
์ ์ ๊ฐ ๋ถ๋งํฌ ํ๋์ง ์ฌ๋ถ๋ฅผ ์๋ฒ์ ๋๊ธฐํ ์ํค๊ณ ์์ง์๊ธฐ ๋๋ฌธ์ ์ฑ์ฉ ๊ณต๊ณ ํ์ด์ง์ ๋ถ๋งํฌ ๋ด์ฉ์ด ๋ฐ์๋์ง ์์ต๋๋ค. ๋จ์ํ ํด๋ผ์ด์ธํธ์์๋ง ์ํ๋ฅผ ๊ด๋ฆฌํ๊ณ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
-
๋ถ๋งํฌ ํ์ด์ง์์ unmount์ ํด๋ผ์ด์ธํธ์ ๋ถ๋งํฌ ๋ฐ์ดํฐ๋ฅผ ๋ฆฌ์ ํฉ๋๋ค.
์ด ์ญ์ ์๋ฒ์์ ๋๊ธฐํ์ ์ฐ๊ฒฐ๋์ด ์๋๋ฐ์. ์ฑ์ฉ ํ์ด์ง์์ ๋ณด์ฌ์ฃผ๋ ๋ฐ์ดํฐ๋ฅผ SWR์ ํตํด์ ์๋ฒ ์ํ์ ๋ฐ์ดํฐ๋ฅผ ๋ ธ์ถํฉ๋๋ค. ๊ฑฐ๊ธฐ์๋ ํด๋ผ์ด์ธํธ์ ์ํ๊ฐ ๋ฐ์๋์ด ์์ง ์์ต๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๊ฐ์ ์ฑ์ฉ ๊ณต๊ณ ๋ฅผ ์ฌ๋ฌ ๋ฒ ๋ถ๋งํฌํ ์ ์๊ฒ ๋์ด ๋ถ๋งํฌ ํ์ด์ง์์๋ ๊ฐ์ ๋ถ๋งํฌํ ๊ณต๊ณ ๋ฅผ ๋ณผ ์ ์๊ฒ ๋ฉ๋๋ค. ์ถ๊ฐ๋ก ์ฑ์ฉ๊ณต๊ณ id๊ฐ์ ํค๊ฐ์ผ๋ก ๋ ธ์ถํด์ฃผ๊ณ ์๋๋ฐ, ์ด ์ญ์ ๊ฐ์ ๊ณต๊ณ ๋ฅผ ๋ถ๋งํฌํ๊ฒ๋์ด ๊ฒฝ๊ณ ๊ฐ ๋ ธ์ถ๋ฉ๋๋ค.
[์ฐธ๊ณ 2]
next-redux-wrapper
๋ฅผ ์ฌ์ฉํ์ง ์์์ต๋๋ค. ํ์ฌ ํ๋ก์ ํธ์์ ํด๋ผ์ด์ธํธ ์ํ๋ง์ ๊ด๋ฆฌํ๋ฉด ๋๊ธฐ ๋๋ฌธ์ (Nextjs์์ SSR๋ฑ์์ผ๋ก ์ธํ)์๋ฒ์ ์ํ์ ํด๋ผ์ด์ธํธ ์ํ๋ฅผ ๋๊ธฐํ ์ํค๋ ์์ ์ ํ ํ์๊ฐ ์์์ต๋๋ค.( + ํ์ฌ ํ๋ก์ ํธ์์ ์๋ฒ ์ํ๋ SWR์ ์ฌ์ฉํ๊ณ ์๊ธฐ ๋๋ฌธ์ด๊ธฐ๋ ํฉ๋๋ค.) -
- Pure ์คํฌ๋กค ์ด๋ฒคํธ๋ฅผ ์ด์ฉํ ๋ฌดํ ์คํฌ๋กค
- React Query๋ฅผ ์ฌ์ฉํ ๋ฌดํ ์คํฌ๋กค
- ์ฑ๋ฅ ์ต์ ํ ๊ด๋ จ โ react-virtualized/react-window
- ๊ด๋ จ ๋งํฌ๋ค