ํค์๋๋ก ์ํ๋ฅผ ๊ฒ์ํ ์ ์๋ ์๋น์ค์ ๋๋ค.
๊ฒ์ ํญ์์ ๊ฒ์ ์ฐฝ์ ํค์๋ ์ ๋ ฅ ํ, ์ํฐ ํค ๋๋ ๊ฒ์ ๋ฒํผ ํด๋ฆญ ์ ์ ๋ชฉ์ด ์ผ์นํ๋ ์ํ ๋ชฉ๋ก์ ๋ํ๋ด๋ ๊ธฐ๋ฅ์ ํฉ๋๋ค. ๋ํ ์ฆ๊ฒจ์ฐพ๊ธฐ๋ก ๋ฑ๋กํ ์ ์์ต๋๋ค.
์ฆ๊ฒจ์ฐพ๊ธฐ ํญ์์ ๋ฑ๋กํด ๋ ์ฆ๊ฒจ์ฐพ๊ธฐ ๋ชฉ๋ก์ ํ์ธํ๊ณ , ์์๋ฅผ ๋ฐ๊ฟ ์ ์์ต๋๋ค..
- ์ฝ์ด: React
- ์ํ๊ด๋ฆฌ: React-Query, Recoil
- ์คํ์ผ๋ง: Emotion
ํ๋ก์ ํธ root์์ ์์กดํ๋ ํจํค์ง๋ฅผ ์ค์น ํ ์๋ ๋ช ๋ น์ ํตํด ๊ฐ๋ฐ ์๋ฒ๋ฅผ ๊ตฌ๋ํ ์ ์์ต๋๋ค.
yarn install
yarn dev
http://127.0.0.1:5173/ ์ ์
- ์๊ตฌ์ฌํญ ํ์ ๋ฐ ์ด๊ธฐ ์ค์
- CRA๋ณด๋ค ๋น ๋ฅธ ๊ฐ๋ฐ ์๋ฒ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด Vite๋ก React + Typescript ํ๋ก์ ํธ ์ธํ
- ํ๋ฉด ๋ณ UI ๊ฐ๋ฐ
- ํ๋จ ํญ๋ฐ๊ฐ ์กด์ฌํ๊ณ , ๊ฒ์์ฐฝ ๋ฑ Mobile First ๋ ์ด์์์ด ์ ํฉํ ์๋น์ค๋ผ ์๊ฐ๋์ด Layout ๋ฐ ํญ ๋ณ ํ์ด์ง ๊ฒฝ๋ก ๋ถ๋ฆฌ API response ํ์ ์ ์ ํ ๋์๋๋ ํญ ๋ณ ํ์ด์ง (๊ฒ์, ์ฆ๊ฒจ์ฐพ๊ธฐ) UI ๊ฐ๋ฐ
- ํ์ด์ง ๊ฐ ๊ณตํต ์ปดํฌ๋ํธ ๋ถ๋ฆฌ
- ์ฆ๊ฒจ์ฐพ๊ธฐ ๊ธฐ๋ฅ ๋ฐ ์ํ๊ด๋ฆฌ
- ๋ก์ปฌ์คํ ๋ฆฌ์ง ๋ฐ์ดํฐ๋ฅผ ์ง์ ๊ด๋ฆฌํ๊ธฐ๋ณด๋ค, react ์ํ ์ฌ์ฉํ๋ฏ ํ๊ธฐ ์ํด recoil๋ก ์คํ ๋ฆฌ์ง ๊ด๋ฆฌ
- ๋๋๊ทธ ์ด๋ฒคํธ๋ก ์ฆ๊ฒจ์ฐพ๊ธฐ ๋ฐฐ์ด ์์ ๋ณ๊ฒฝ ๊ธฐ๋ฅ ๊ฐ๋ฐ
- API ์ฐ๋
- ์๋์ผ๋ก ์บ์ฑ์ฒ๋ฆฌ ํด์ฃผ๊ณ , ๋ฐ์ดํฐ, ๋ก๋ฉ, ์ฌ๋ก๋ ๋ฑ ์๋ฒ ๋ฐ์ดํฐ์ ๋ํ ์ํ๊ด๋ฆฌ๋ฅผ ํธํ๊ฒ ํ๊ธฐ ์ํด react query ์ฌ์ฉํ์ฌ API ์์ฒญ
- ๋ฌดํ ์คํฌ๋กค ๊ตฌํ์ ์ํด ์ตํ๋จ ์์ ๋๋ฌ ์ ๊ฐ์งํ์ฌ ์์ฒญํ๋๋ก ์ฒ๋ฆฌ, ์ด๋ฅผ ์ํด Web API intersection observer๋ฅผ ๊ฐ๋จํ ์ฌ์ฉํ ์ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ