CSR(Client-Side Rendering)์ผ๋ก ๋์ํ๋ React ํฌ์ผ๋ชฌ ๋๊ฐ ์ฑ์ SSR(Server-Side Rendering)์ผ๋ก ์ ํํฉ๋๋ค.
- CSR ์ฑ์ ์ด๊ธฐ ๋ก๋ฉ ๊ณผ์ ์ ๋ถ์ํ๊ณ , SSR์ด ํด๊ฒฐํ๋ ๋ฌธ์ ๊ฐ ๋ฌด์์ธ์ง ์ค๋ช ํ ์ ์์ต๋๋ค.
- Vite ํ๊ฒฝ์์ ์๋ฒ ์ํธ๋ฆฌํฌ์ธํธ์ ํด๋ผ์ด์ธํธ ์ํธ๋ฆฌํฌ์ธํธ๋ฅผ ๋ถ๋ฆฌํ ์ ์์ต๋๋ค.
react-dom/serverAPI๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฒ์์ React ์ปดํฌ๋ํธ๋ฅผ HTML๋ก ๋ณํํ ์ ์์ต๋๋ค.- Hydration์ ๊ฐ๋ ์ ์ดํดํ๊ณ , ์๋ฒ HTML ์์ ํด๋ผ์ด์ธํธ React๋ฅผ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
- Hydration Mismatch๊ฐ ๋ฐ์ํ๋ ์์ธ์ ํ์ ํ๊ณ ํด๊ฒฐํ ์ ์์ต๋๋ค.
- ์๋ฒ์์ ๊ฐ์ ธ์จ ๋ฐ์ดํฐ๋ฅผ ํด๋ผ์ด์ธํธ์ ์ ๋ฌํ์ฌ ๋์ผํ ์ด๊ธฐ ์ํ๋ฅผ ์ ์งํ ์ ์์ต๋๋ค.
- ์๋ฒ์์ ์์ฒญ URL๊ณผ ์ฟผ๋ฆฌ ํ๋ผ๋ฏธํฐ๋ฅผ ํด์ํ์ฌ ํด๋น ํ์ด์ง๋ฅผ ๋ ๋๋งํ ์ ์์ต๋๋ค.
- Express
- React Components
- React Router
/csr์ดํ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ฐธ๊ณ ํ์ฌ ํฌ์ผ๋ชฌ ๋๊ฐ ์ฑ์ด ๋์ํ๋ ๋ฐฉ์์ ํ์ธํฉ๋๋ค.- ํฌ์ผ๋ชฌ ์นด๋ ๋ชฉ๋ก์ด ํ์๋ฉ๋๋ค.
- ์นด๋๋ฅผ ํด๋ฆญํ๋ฉด ์์ธ ํ์ด์ง(
/pokemon/:id)๋ก ์ด๋ํฉ๋๋ค. - ํ์ด์ง๋ค์ด์
(
?page=2)์ผ๋ก ๋ค์ ํ์ด์ง์ ํฌ์ผ๋ชฌ์ ์กฐํํ ์ ์์ต๋๋ค.
Note
๋ณธ ๋ฏธ์ ์์ ์ฌ์ฉํ๋ PokeAPI๋ ๋ณ๋์ API ํค ๋ฐ๊ธ์ด ํ์ํ์ง ์์ต๋๋ค.
SSR ์ ํ์ ์์ํ๊ธฐ ์ ์, ํ์ฌ CSR ์ฑ์ ๋์์ ๊ด์ฐฐํฉ๋๋ค.
- ๋ธ๋ผ์ฐ์ ๊ฐ๋ฐ์ ๋๊ตฌ์ ๋คํธ์ํฌ ํญ์์ ์ฒซ ๋ฒ์งธ HTML ์๋ต์ ๋ด์ฉ์ ํ์ธํฉ๋๋ค.
- Performance ํญ์์ ํ์ด์ง ๋ก๋ฉ ๊ณผ์ ์ ๋ นํํ๊ณ , ์ฝํ ์ธ ๊ฐ ํ๋ฉด์ ํ์๋๊ธฐ๊น์ง์ ๊ณผ์ ์ ๊ด์ฐฐํฉ๋๋ค.
- ๋ธ๋ผ์ฐ์ ์ค์ ์์ JavaScript๋ฅผ ๋นํ์ฑํํ ๋ค ํ์ด์ง๋ฅผ ์๋ก๊ณ ์นจํ๋ฉด ์ด๋ค ์ผ์ด ์ผ์ด๋๋์ง ํ์ธํฉ๋๋ค.
- ๋ณธ ์ ์ฅ์๋ฅผ forkํ์ฌ ์์ ์ ์งํํ๋ค.
- Step๋ณ๋ก ์ปค๋ฐ์ ๋ถ๋ฆฌํ์ฌ, ์ ํ ๊ณผ์ ์ ์ถ์ ํ ์ ์๋๋ก ํ๋ค.
- ๋ชจ๋ Step์ ์๋ฃํ ํ PR์ ์ฌ๋ฆฐ๋ค.
- ๊ฐ Step์ ๋ํ ์ ๋ณด๋
/steps๋๋ ํ ๋ฆฌ ํ์์ ๋ฌธ์๋ก ์กด์ฌํ๋ค.
- Node.js 20 ์ด์
- npm 10 ์ด์
