๐ react-router-dom : react-router-dom v6 ๋์์๋ฆฌ ๊ด๋ จ ๊ตฌํ
๐ ์ด๋ ฅ์ ๋ณด์กดํ๋ ๋ฐฉ๋ฒ : ๊ฒ์๊ธ ์์ฑ ์ค ๋ค๋ก๊ฐ๊ธฐ ๋ฒํผ์ ๋๋ ์ ๋ ์ด๋ฅผ ๋ณด์กดํ๋ ๋ฐฉ์
โ๏ธ State ์ต์ ํ : ๋ถํ์ํ ๋ ๋๋ง์ ์ค์ด๊ธฐ ์ํ ๋ฐฉ๋ฒ๋ค
๐ React ์์กด์ฑ ์ฃผ์ : Custom Hook๊ณผ Context-api๋ฅผ ํ์ฉํ ์์กด์ฑ ์ฃผ์ ๊ตฌํ
๐ Yup๊ณผ React-Hook-Form ๊ฐ์ด ์ฌ์ฉํ๊ธฐ
- Yup์ ์ฌ์ฉํด์ ์ ํจ์ฑ ๊ฒ์ฌ
- React-Hook-Form์ Controller ์ฌ์ฉ
- Controller ์์ด ๋์ผํ ๋์์ ๊ตฌํํด๋ณด๊ธฐ
๐ Storybook
- Storybook์ ํ์ฉํ ui inventory ๊ด๋ฆฌ, CDD ๊ฐ๋ ํ๋ฆฝ
- Button, Input, Select, Pagination ์ปดํฌ๋ํธ๋ฅผ ์คํ ๋ฆฌ๋ถ ๊ตฌํ
๐ ๋ฐ๋ณต๋๋ UI์ ์ค๋ณต๋๋ ์คํ์ผ ์ฝ๋ ๊ฐ์ : ์ค๋ณต๋๋ ์คํ์ผ ์ฝ๋๋ฅผ ๊ฐ์ฒด๋ก ๊ด๋ฆฌํ์ฌ DX ๊ณ ๋ ค
๐ฎ TS-Handbook
- ์ฌ์ ๊ณผ์ (๊ฐ์ธ์ ๋ฆฌ) : ๋ชจ๋น ํ์ ์คํฌ๋ฆฝํธ ํธ๋๋ถ ์์ฑ ์ด์ ์ฌ์ ๊ณผ์ ๊ฐ์ธ ์ ๋ฆฌ (typescript-krkorea)
๐ ์คํ๊ฒํฐ ์ฝ๋ ๋ฆฌํฉํฐ๋ง
- ์ปค์คํ ํ ์ ํ์ฉํ ๋์จํ ๊ด๊ณ ๋ง๋ค๊ธฐ
- ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ๊ณ , ๋ณต์กํ ์ํ์ ๋ณํ๋ฅผ useReducer๋ก ๊ด๋ฆฌํ๊ธฐ
- ์ ์ญ ์ํ ๊ด๋ฆฌ๋ฅผ ํตํ ํ๋กญ์ค ๋๋ฆด๋ง ํด๊ฒฐ ๋ฐ ๊ด์ฌ์ฌ ๋ถ๋ฆฌ
๐ path1-typescript
- 1์ฃผ์ฐจ
- ํ์ ์คํฌ๋ฆฝํธ๋?
- ๊ธฐ๋ณธํ์ ๊ณผ ๊ณ ๊ธํ์
- ts&react project init(with vite)
- react์์์ ํ์
- 2์ฃผ์ฐจ
- tsconifg ํํค์น๊ธฐ
- ํ์ ๊ฐ๋๋? ํ์ ๊ฐ๋์ ์ข ๋ฅ?
- axios์ ํ์
- ํ์ ๊ฐ๋๋ก ์ ๋์ ์ธ ํ์ ์ ์๋์์ฑ ๋ถ์ฌํ๊ธฐ
- exportํ ํ์ ์ import type ํด์ผํ๋ ์ด์
- as const์ enum์ ์ด๋ค ์ฐจ์ด? ๊ฐ๊ฐ ์ด๋ ์๊ฐ์ ์ฌ์ฉํด์ผ ํ๋๊ฐ?
- ๐ฅ ๊ธฐ์ต์ ๋จ๋ ์
- ์ฆ์์คํํจ์์ ํ์ ๊ฐ๋๋ฅผ ํ์ฉํ๋ ๋ฐฉ๋ฒ์ด ๊ฐ์ฅ ๊ธฐ์ต์ ๋จ๋๋ค.
โฐ๏ธ path2-NextJS
- 1์ฃผ์ฐจ
- ssr, csr ์ฐจ์ด๋ฅผ ์ ์ํ๊ณ ์ดํดํ๊ธฐ
- nextJS ํ๋ก์ ํธ ์์ฑ
- nextJS์์ SSR์ ์ง์ํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณด๊ธฐ
- 12v, 13v ์ฐจ์ด
- nextJS route system
- ๋ผ์ฐํธ๋ฅผ ๋ง๋ค๊ณ SSR์ ๊ตฌํํด๋ณด๋ ์ค์ต
- nextJS์์ CSR์ ๊ตฌํํ๊ธฐ ์ํ ๋ฐฉ๋ฒ
- swc๋ ๋ฌด์์ด๊ณ , babel๊ณผ์ ์ฐจ์ด์
- nextJS์์ ์น ์คํ ๋ฆฌ์ง์ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ
- 2์ฃผ์ฐจ
- App Router์ Pages Router์ ์ฐจ์ด์
- App Router์์ ์ง์ํ๋ File Convention์ ์ข ๋ฅ์ ํ์ฉ๋
- multiple layout
- ๊ฐ์ฅ ์ข์ ํด๋ ๊ตฌ์กฐ ์ง๋ณด๊ธฐ
- Image, Font Optimization