๋๋์ด ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋ก ์ทจ์ ์ ์ฑ๊ณตํ๋ค. ๊ทธ๋์ ์ฌ๋ฌ ๊ธฐ์ ๋ค์ ์ฌ์ฉ๋ฒ ์์ฃผ๋ก ์ตํ๋ํฐ๋ผ ๋ง์ ๊ธฐ์ ๋ฉด์ ์ ๋ณด๋ ์๊ฐ๋ณด๋ค ๋ ์ด๋ ค์ ๋ค. ๊ทธ๋์ ์์ผ๋ก ๊ธฐ์ ์ ์ตํ ๋ ๊ผญ ์ด๋ก ์ ์ธ ๋ถ๋ถ๋ ์ดํดํ๋ฉด์ ๊น์ด ๊ณต๋ถํด์ผ๊ฒ ๋ค๊ณ ๋๊ผ๋ค. ์๋ฌดํผ ๋ฉด์ ์ ์ค๋นํ๋ฉด์ ๊ณต๋ถํ๋ ๋ด์ฉ๋ค์ ๊ฐ๋จํ ๊ธฐ๋กํด ๋ณด์. ์ง๋ฌธ ํญ๋ชฉ์ ๋ด๊ฐ ์์ ํ ํ๋ก์ ํธ ๊ธฐ์ ์คํ ์์ฃผ์ด๋ค.
React
- ๋ฆฌ์กํธ ์ฅ๋จ์
- ์ฅ์ : ๋ฆฌ์กํธ๋ ๊ธฐ๋ฅ ๋จ์, UI ๋จ์๋ก ์บก์ํํ์ฌ(๋ฌถ์ด์) ์ฝ๋๋ฅผ ๊ด๋ฆฌํ๊ธฐ ๋๋ฌธ์ ์ฌ์ฌ์ฉ์ฑ์ด ๋์ต๋๋ค. ๋ํ ๊ฐ์ ๋์ ์ฌ์ฉํด ์ด๋ฒคํธ ๋ฐ์ ์ UI๋ฅผ ๋น ๋ฅด๊ฒ ๋๋๋งํ์ฌ ์ฌ์ฉ์์๊ฒ ์ข์ ํผํฌ๋จผ์ค๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค.
- ๋จ์ : ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ๋๋๋ง ํ๊ธฐ ๋๋ฌธ์ ์ด๊ธฐ ๋ก๋ฉ์๊ฐ์ด ๊น๋๋ค. ๊ทธ๋ฆฌ๊ณ SEO๊ฐ ์ ์ ํ์ง ์์ ์ ์์ต๋๋ค. ๊ทธ ์ด์ ๋ ์ฃผ๋ก ๊ฒ์์์ง์ <meta> ํ๊ทธ์์ ์น์ฌ์ดํธ ์ ๋ณด๋ฅผ ์ฝ์ด์ค๋๋ฐ ํ๋์ index.html์ด๋ฏ๋ก ํ์ด์ง๊ฐ ์ ํ๋์ด๋ ์ถ๊ฐ ์ ๋ณด๊ฐ ์ ๊ณต๋์ง ์์์ ์ ๋๋ค.
- ๋ฆฌ์กํธ ๋์๋ฐฉ์
- ๋ฆฌ์กํธ๋ ์ค์ ๋์ ์ ๊ทผํ์ฌ ์กฐ์ํ๋ ๋์ ๊ฐ์ ๋์ ํ์ฉํฉ๋๋ค. ๋ง์ฝ ๋์ ์ผ๋ก ๋ฐ์ดํฐ๊ฐ ๋ณํํ์ ๋ ์ง์ ์ ์ผ๋ก ๋์ ์กฐ์ํ์ง ์๊ณ ์๋ก์ด ๊ฐ์ ๋์ ์์ฑํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์๋ก ์์ฑ๋ ๊ฐ์ ๋๊ณผ ์ด์ ์ ์ ์ฅ๋ ๊ฐ์ ๋์ ๋น๊ตํด ๋ณ๊ฒฝ๋ ๋ถ๋ถ์ ์ค์ ๋๋ง ๋ณ๊ฒฝํฉ๋๋ค.
- ๊ฐ์ DOM์ด๋
- ์ค์ ๋์ ์ถ์ํ์ํจ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด์ ๋๋ค. ๊ฐ์ ๋์ด ์ฌ์ฉ๋๋ ์ด์ ๋ ํน์ ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ ๋์์ ๋ ์ค์ DOM์ ๊ฒฝ์ฐ ๋ณ๊ฒฝ๋ ๋ถ๋ถ๋ง ์ฌ๋๋๋ง์ด ์ผ์ด๋๋ ๊ฒ์ด ์๋ ์ ์ฒด ํ์ด์ง๊ฐ ์ฌ๋๋๋ง์ด ๋ฉ๋๋ค. ํ์ง๋ง ๊ฐ์ ๋์ ๊ฒฝ์ฐ ๊ฐ์๋์ ๋ณ๊ฒฝ ์ ๊ณผ ํ๋ฅผ ๋น๊ตํ ํ์ ๋ณ๊ฒฝ๋ ๋ถ๋ถ๋ง ์ค์ ๋์ ์ ์ฉํ์ฌ ํ๋ฒ๋ง ์ฌ๋๋๋ง์ด ์ผ์ด๋ฉ๋๋ค.
- ๋ฆฌ์กํธ ํ
- v.16.8์ ๋์ ๋ ๊ธฐ๋ฅ์ผ๋ก ํจ์ํ ์ปดํฌ๋ํธ์ ์ฌ์ฉ๋๋ ๋ช๊ฐ์ง ๊ธฐ์ ๋ค์ Hook์ด๋ผ๊ณ ๋ถ๋ฆ ๋๋ค. ํ ์ ํจ์ํ ์ปดํฌ๋ํธ๊ฐ ํด๋์คํ ์ปดํฌ๋ํธ์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์๋๋ก ์ ๊ณตํฉ๋๋ค. ์ํ๊ด๋ฆฌ๋ฅผ ํ ์ ์๋ setState, ๋๋๋ง ์งํ ์์ ์ ์ค์ ํ๋ useEffect ๋ฑ์ด ์์ต๋๋ค.
- useState()๋ฅผ ์ด์ฉํ๋ฉด ํจ์ํ ์ปดํฌ๋ํธ ์์์ state๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. setState()๋ ์ปดํฌ๋ํธ์ state ๊ฐ์ฒด์ ๋ํ ์ ๋ฐ์ดํธ๋ฅผ ์คํํฉ๋๋ค. state๊ฐ ๋ณ๊ฒฝ๋๋ฉด ์ปดํฌ๋ํธ๋ ๋ฆฌ๋๋๋ง๋ฉ๋๋ค.
- useEffect()๋ ์ปดํฌ๋ํธ๊ฐ ๋๋๋ง ๋ ๋๋ง๋ค ํน์ ์์ (์ฌ์ด๋ ์ดํํธ)์ ์คํํ ์ ์๋๋ก ํ๋ ๊ธฐ๋ฅ์ ๋๋ค. ์ฌ์ด๋ ์ดํํธ๋ก๋ ์ปดํฌ๋ํธ๊ฐ ๋๋๋ง ๋ ์ดํ ๋น๋๊ธฐ ์ฒ๋ฆฌ ๋ฑ๋ฑ์ด ์ฌ์ฉ๋ฉ๋๋ค.
- ๋ฐฐํฌ
- ๋น๋๊ฐ ์์ฑ๋์ด ์คํ ๊ฐ๋ฅํ ํ์ผ์ ์ฌ์ฉ์๊ฐ ์ ๊ทผํ ์ ์๋ ํ๊ฒฝ์ ๋ฐฐ์นํค์๋ ์ผ์ ๋๋ค.
- Heroku๋ ๋ณ๋์ ๋ฏธ๋ค์จ์ด๋ ํ๋ก๊ทธ๋จ ์ค์น ์์ด ์ฝ๋๋ฅผ ์ ๋ก๋๋ผ๋ฉด ๊ฐ๋ฐํ ์น์ฌ์ดํธ๋ฅผ ๋์ด์ฃผ๋ ํด๋ผ์ฐ๋ ํธ์คํ ์๋น์ค์ ๋๋ค.
JavaScript
- JWT
- ์ธ์ฆ๋ฐ์ ์ฌ์ฉ์๋ค์๊ฒ ์ํธํ๋ ํ ํฐ์ ๋ฐ๊ธํด์, ์๋ฒ์ ์ธ์ฆ์ด ํ์ํ ๋ฆฌ์์ค๋ฅผ ์์ฒญํ ๋ HTTP ํค๋์ ํ ํฐ์ ํจ๊ป ๋ณด๋ด์ด์ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ํ๋ ๋ฐฉ์์ ๋๋ค.
- ํ ํฐ์ ํ๋ฒ ๋ฐ๊ธ๋๋ฉด ์ ํจ๊ธฐ๊ฐ์ด ์๋ฃ๋ ๋๊น์ง ๊ณ์ ์ฌ์ฉ ๊ฐ๋ฅํจ์ผ๋ก ์ด์ธ์ค ํ ํฐ์ ์ ํจ๊ธฐ๊ฐ์ ์งง๊ฒ ์ค์ ํฉ๋๋ค.
- ์ธ์ /์ฟ ํค ๋ฐฉ์๊ณผ์ ์ฐจ์ด์ ์ผ๋ก๋ ์ธ์ /์ฟ ํค๋ ์ธ์ ์ ์ฅ์์ ์ ์ ์ ์ ๋ณด๋ฅผ ๋ฃ๊ณ , jwt๋ ํ ํฐ ์์ ์ ์ ์ ์ ๋ณด๋ฅผ ๋ฃ์ต๋๋ค. ํด๋ผ์ด์ธํธ ์ ์ฅ์์ ๋์ผํ๊ฒ http ํค๋์ ์ ๋ณด๋ฅผ ์ค์ด๋ณด๋ด์ง๋ง ์๋ฒ ์ ์ฅ์์ ์ธ์ฆ์ ์ํธํํ๋, ๋ณ๋์ ์ ์ฅ์๋ฅผ ์ด์ฉํ๋์ ์ฐจ์ด๊ฐ ๋ฐ์ํฉ๋๋ค.
- CSR๊ณผ SSR
- ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ๋๋๋ง์ ์ต์ด ๋ก๋ฉ ์ ์๋ฒ์์ HTML, CSS, JS ๋ฑ ๊ฐ์ข ๋ฆฌ์์ค๋ฅผ ๋ชจ๋ ๋ฐ์์์ ํด๋ผ์ด์ธํธ์์ ๋๋๋ง ํฉ๋๋ค. ์ด ๋๋ฌธ์ ์ด๊ธฐ ๋ก๋ฉ ์๋๋ SSR์ ๋นํด ๋๋ฆฌ์ง๋ง, ์ด๊ธฐ์ ๋ฐ์ ๋ฆฌ์์ค๋ฅผ ํตํด ํด๋ผ์ด์ธํธ์์ ํ๋ฉด์ ์ ์ดํ๊ธฐ ๋๋ฌธ์ ํ์ด์ง ์ ํ ์๋๋ SSR์ ๋น๊ต ์ ๋ ๋น ๋ฆ ๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์คํ์์ผ ๋์ ์ผ๋ก ์ฝํ ์ธ ๊ฐ ์์ฑ๋ฉ๋๋ค.
- ์๋ฒ ์ฌ์ด๋ ๋๋๋ง์ ์๋ฒ์์ ์ฆ์ ๋๋๋ง ๊ฐ๋ฅํ HTML ํ์ผ์ ๋ง๋ค์ด์ ์์ฒญํ ํด๋ผ์ด์ธํธ์๊ฒ ์ ๋ฌํฉ๋๋ค. ์ด ๋๋ฌธ์ ์ด๊ธฐ ๋ก๋ฉ ์๋๋ ๋น ๋ฅด์ง๋ง ์ดํ ํ์ด์ง ์ด๋ ์ ๋งค๋ฒ ์๋ฒ์์ ์์ฒญ๋ฐ์ ์ ์ดํ๊ธฐ ๋๋ฌธ์ ๋ค์ ๋๋ฆฌ๊ณ ์๋ฒ ์์์ ๋ ๋ง์ด ์ฌ์ฉ๋ฉ๋๋ค.
- ์ฐจ์ด์ ํฌ์ธํธ: ์ฒซ ํ์ด์ง ๋ก๋ฉ์๊ฐ, ์ดํ ๋๋จธ์ง ํ์ด์ง ๋ก๋ฉ์๊ฐ, SEO ๋์, ์๋ฒ์์ ์ฌ์ฉ๋
- DOM์ด๋
- HTML ํ๊ทธ๋ฅผ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ์กฐ์ํ ์ ์๋๋ก ๋ธ๋ผ์ฐ์ ๊ฐ ํธ๋ฆฌ ํํ์ ๊ฐ์ฒด๋ก ํํํ ๊ฒ์ ๋๋ค.
- ๋น๋๊ธฐ ํจ์์ ๋๊ธฐ ํจ์
- ๋น๋๊ธฐ๋ ์คํ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ค๋ฆฌ์ง ์์๋ ๋๋ ํจ์์ด๊ณ , ๋๊ธฐ๋ ์คํ ๊ฒฐ๊ณผ๊ฐ ๋ฆฌํด๋ ๋๊น์ง ๊ธฐ๋ค๋ ค์ผ ๋ค์ ๋์์ ์คํํ ์ ์๋ ํจ์์ ๋๋ค.
- ์๋ฐ์คํฌ๋ฆฝํธ ๋น๋๊ธฐ ์ฒ๋ฆฌ๊ฐ ์ค์ํ ์ด์
- ์๋ฐ์คํฌ๋ฆฝํธ๋ ์ฑ๊ธ ์ค๋ ๋ ์ธ์ด์ด๋ค. ๋๋ฌธ์ ๋ธ๋ผ์ฐ์ ์์ ์ด๋ค ๋ก์ง์ด ๋๊ธฐ์ ์ผ๋ก๋ง ์คํ๋ ๊ฒฝ์ฐ ๊ธฐ๋ค๋ฆฌ๋ ์๊ฐ์ด ๋ง์์ ธ ์ฌ์ฉ์๊ฐ ๋ถํธํจ์ ๋๋ผ๊ฒ ๋ฉ๋๋ค. ๋ฐ๋ผ์ ๋น๋๊ธฐ ํจ์๊ฐ ๊ด๋ฒ์ํ๊ฒ ์ฌ์ฉ๋ฉ๋๋ค.
- ํ์ง๋ง ๋น๋๊ธฐ ์ฒ๋ฆฌํ๋๋ฐ ์ฝ๋ฐฑํจ์๋ก ์ธ์๋ก ๋๊ฒจ ์ฒ๋ฆฌํ๋ ๊ฒฝ์ฐ ์ฝ๋ฐฑํจ์๊ฐ ์ค์ฒฉ๋์ด ๊ฐ๋ ์ฑ์ด ๋จ์ด์ง๊ธฐ ๋๋ฌธ์ ์ต๊ทผ์ promise์ async/await๋ฅผ ์ด์ฉํฉ๋๋ค.
- promise
- ์๋ฐ์คํฌ๋ฆฝํธ์์ ๋น๋๊ธฐ ์ฒ๋ฆฌ์ ์ฌ์ฉ๋๋ ๊ฐ์ฒด(ํจํด)์ ๋๋ค. ๋น๋๊ธฐ ์ฒ๋ฆฌ๊ฐ ์๋ฃ๋์ง ์์ผ๋ฉด pending, ์๋ฃ๋์๋ค๋ฉด fulfilled, ์คํจํ๊ฑฐ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค๋ฉด reject ์ํ๋ฅผ ๊ฐ์ต๋๋ค.
- new ํค์๋์ ํจ์ ์ธ์๋ก ๋ฐ๋ ์์ฑ์๋ก ์์ฑ๋ฉ๋๋ค. ์ด๋ ํจ์ ์ธ์๋ resolve์ reject๋ผ๋ ๋๊ฐ์ ํจ์ํ ํ๋ผ๋ฏธํฐ๋ฅผ ๊ฐ์ง๋๋ค. resolve()๋ ์ป๊ฒ ๋ ๊ฒฐ๊ณผ๋ฅผ ๋๊ฒจ์ฃผ๊ณ , reject()๋ ๋ฐ์ํ ์์ธ๋ฅผ ๋๊ฒจ์ค๋๋ค.
- ์ ์์ ์ธ ์ธ์๋ฅผ ๋๊ธด ๊ฒฝ์ฐ(resolve) then() ๋ฉ์์ค๊ฐ ํธ์ถ๋๊ณ , ๋น์ ์์ ์ธ ์ธ์๋ฅผ ๋๊ธด ๊ฒฝ์ฐ(reject) catch() ๋ฉ์๋๊ฐ ํธ์ถ๋ฉ๋๋ค. ๊ทผ๋ฐ promise๋ ์ฒด์ธ์ด ๊ณ์ ๋ฐ์๋ ์ ์๋ค.
- ์ฟ ํค์ ์ธ์
- ์ฟ ํค๋ ํด๋ผ์ด์ธํธ์ ์ ์ฅ, ํ ์คํธ ํ์, ๋ง๋ฃ์์ ์ง์ (๋ธ๋ผ์ฐ์ ์ข ๋ฃ๋๋ ๋ง๋ฃ์์ ์ด ์ง๋์ง ์์ผ๋ฉด ์ญ์ ์๋จ), ์ธ์ ๋ณด๋ค ๋น ๋ฅด๊ณ , ๋ณด์์ ๋ ์ข์
- ์ธ์ ์ ์น์๋ฒ์ ์ ์ฅ, ๊ฐ์ฒด ํ์, ๋ธ๋ผ์ฐ์ ์ข ๋ฃ์ ์ญ์ ๋๊ณ ๋ฐ๋ก ๊ธฐ๊ฐ ์ง์ ๊ฐ๋ฅ, ์ฟ ํค๋ณด๋ค ๋๋ฆฌ์ง๋ง ๋ณด์์ ์ฐ์ํจ.
- ์ธ์ ์ ํด๋ผ์ด์ธํธ๋ฅผ ๊ตฌ๋ถํ๊ธฐ ์ํด ์ธ์ ID๋ฅผ ๋ถ์ฌํ๊ณ ๋ธ๋ผ์ฐ์ ๊ฐ ์ข ๋ฃ๋ ๋๊น์ง ์ธ์ฆ์ํ๋ฅผ ์ ์งํ๋ค. ์ฌ์ฉ์๊ฐ ๋ง์์ง์๋ก ์๋ฒ ๋ฉ๋ชจ๋ฆฌ ์ฐจ์ง ๋ง์์ง.
- ๋ธ๋ผ์ฐ์ ์ ์ฅ์
- ์ฟ ํค๋ ์ค์ ์ดํ ๋ชจ๋ HTTP Request์ ์ฟ ํค์ ๋ณด๊ฐ ํฌํจ๋์ด ์๋ฒ๋ก ์ ์ก๋ฉ๋๋ค. ๋ฌธ์์ด๋ง ์ ์ฅ ๊ฐ๋ฅํ๊ณ ์ฉ๋์ ์ ํ์ด ์์ผ๋ฉฐ ๋ง๋ฃ์ผ์๊ฐ ์กด์ฌํฉ๋๋ค.
- ์น ์คํ ๋ฆฌ์ง๋ ์๊ตฌ์ ์ฅ์์ธ ๋ก์ปฌ ์คํ ๋ฆฌ์ง์ ์์ ์ ์ฅ์์ธ ์ธ์ ์คํ ๋ฆฌ์ง๋ก ๋๋ฉ๋๋ค. ์คํ ๋ฆฌ์ง๋ ๋ธ๋ผ์ฐ์ ์ ์ ์ฅ๋ ํ ์๋ฒ๋ก ์ ์ก๋์ง ์์ต๋๋ค. ๋ฌธ์์ด ์ธ์๋ ๊ฐ์ฒด๋ฅผ ์ ์ฅํ ์ ์๊ณ , ์ฉ๋์ ์ฟ ํค์ ๋นํด ๋๋ํฉ๋๋ค. ๋ํ ํ๋ฒ ์ ์ฅํ ๋ฐ์ดํฐ๋ ๋ช ์์ ์ผ๋ก ์ง์ฐ์ง ์๋ ํ ์๊ตฌ์ ์ผ๋ก ์กด์ฌํฉ๋๋ค.
- ๋ก์ปฌ ์คํ ๋ฆฌ์ง๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์ข ๋ฃ๋๋ ๋ฐ์ดํฐ๊ฐ ๋ณด๊ด๋๊ณ , ์ธ์ ์คํ ๋ฆฌ์ง๋ ๋ธ๋ผ์ฐ์ ๋ฆฌ๋ก๋ ์์ ๋ฐ์ดํฐ๊ฐ ๋จ์์์ง๋ง ๋ธ๋ผ์ฐ์ ๊ฐ ์ข ๋ฃ๋๋ฉด ๋ฐ์ดํฐ๊ฐ ์ ๊ฑฐ๋ฉ๋๋ค.
- ๋ธ๋ผ์ฐ์ ๋์์๋ฆฌ
- ๋ธ๋ผ์ฐ์ ๊ฐ ์๋ฒ์๊ฒ ์์ฒญํ์ฌ HTML ํ์ผ์ ๋ค์ด๋ก๋ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ HTML ํ์ผ์ ํด์ํด HTML, CSS, JS๋ฅผ ํ์ฑํ์ฌ ๋ ํธ๋ฆฌ๋ฅผ ๊ตฌ์ถํฉ๋๋ค. ๊ตฌ์ถํ DOM๊ณผ CSSOM์ ๊ฒฐํฉํ์ฌ ์ต์ข ์ ์ผ๋ก ๋ธ๋ผ์ฐ์ ์ ๋ณด์ฌ์ง ์์๋ค๋ก render tree ๋ฅผ ์์ฑํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ ์์์ ์คํ์ผ์ ๋ฐ๋ผ ๋ธ๋ผ์ฐ์ ํ๋ฉด์ ์์น, ํฌ๊ธฐ๋ฅผ ๊ณ์ฐํ๊ณ , ๊ณ์ฐ์ด ์๋ฃ๋๋ฉด ๋ธ๋ผ์ฐ์ ํ๋ฉด์ ํ์ํฉ๋๋ค.
- ํธ์ด์คํ
- ์ฝ๋๊ฐ ์คํ๋๊ธฐ ์ ํจ์ ์์ ์๋ ์ ์ธ๋ค์ ํด๋น ํจ์ ์ ํจ ๋ฒ์์ ์ต์๋จ์ผ๋ก ๋์ด ์ฌ๋ ค์ง ๊ฒ ๊ฐ์ ํ์์ ๋งํฉ๋๋ค.
- var, let, const
- ๋ณ์ ์ ์ธ ๋ฐฉ์์ ๋ฐ๋ผ ๋๋ฉ๋๋ค. var๋ ์ฌ์ ์ธ, ์ฌํ ๋น์ด ๊ฐ๋ฅํฉ๋๋ค. let์ ์ฌ์ ์ธ์ ๋ถ๊ฐ, ์ฌํ ๋ฌ์ด ๊ฐ๋ฅํฉ๋๋ค. const๋ ์ฌ์ ์ธ๊ณผ ์ฌํ ๋น์ด ๋ถ๊ฐํฉ๋๋ค.
- ๋ณ์ ๋ชจ๋ ํธ์ด์คํ ์ด ์ผ์ด๋ ๋ var๋ก ์ ์ธ๋ ๋ณ์๋ ์ ์ธ ์ด์ ์ ์ฐธ์กฐ ์ undefined๋ก ์ฝํ๋ ๋ฐ๋ฉด let, const๋ก ์ ์ธ๋ ๋ณ์๋ ์ ์ธ ์ด์ ์ ์ฐธ์กฐ ์ ์ฐธ์กฐ ์๋ฌ๊ฐ ๋ฐ์ํฉ๋๋ค.
- HTTP GET๊ณผ POST
- GET์ ๋ฆฌ์์ค ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๊ธฐ ์ํ ๋ฉ์๋์ด๊ณ , URL ํ๋ผ๋ฏธํฐ์ ์์ฒญํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ด์ ๋ณด๋ ๋๋ค. ๊ทธ๋ฆฌ๊ณ POST๋ ๋ฆฌ์์ค๋ฅผ ์์ฑ ๋ฐ ์ ๋ฐ์ดํธ ํ๊ธฐ ์ํด ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ผ ๋ ์ฌ์ฉํ๋ ๋ฉ์๋์ด๊ณ , HTTP body์ ๋ฐ์ดํฐ๋ฅผ ๋ด์ ๋ณด๋ ๋๋ค.
- RESTful API
- ์์์ ์ด๋ฆ์ผ๋ก ๊ตฌ๋ถํ์ฌ ํด๋น ์์์ ์ํ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๋ชจ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
- ๋ค์ํ ํด๋ผ์ด์ธํธ์ ์ ์ฝ์ ๋์ง ์๊ณ ๋ฒ์ฉ์ ์ผ๋ก ์ฌ์ฉ์ฑ์ ๋ณด์ฅํ๋๋ก ํ๊ธฐ ์ํด HTTP ํ์ค ๊ต์ฝ์ ์งํค๋ฉด์ API๋ฅผ ๋ง๋๋ ๊ฒ์ ๋๋ค.
- HTTP์ URI ๊ธฐ๋ฐ์ผ๋ก ์์์ ์ ๊ทผํ ์ ์๋๋ก ์ ๊ณตํ๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ์ธํฐํ์ด์ค์ ๋๋ค.
- ์ฆ, ๋ค์ํ ํด๋ผ์ด์ธํธ์์ํต์ ์ ๋์ํ ์ ์๋๋ก ์๋ฒ๊ฐ ๋ฒ์ฉ์ ์ผ๋ก ์ฌ์ฉํ๋๋ก HTTP ํ์ค ๊ท์ฝ์ ์งํจ API๋ฅผ ๋ง๋ ๊ฒ.
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํ๋ ์์ํฌ
- ๋ฏธ๋ฆฌ ๋ง๋ค์ด์ง ๊ธฐ๋ฅ์ ์งํฉ์ฒด๋ก, ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ด ํ๋ฆ์ ๋ํ ์ฃผ๋์ฑ์ด ๋๊ตฌ์๊ฒ ์๋๊ฐ์ ์ฐจ์ด์ ์ด ์์ต๋๋ค. ํ๋ ์์ํฌ๋ ์ ์ฒด์ ์ธ ํ๋ฆ์ ์ง์ ์ฅ๊ณ ์๊ณ ์ฌ์ฉ์๊ฐ ๊ทธ ์์ ๋ง์ถฐ ํ์ํ ์ฝ๋๋ฅผ ์ง๋ฃ๋ ๊ตฌ์กฐ์ด๊ณ , ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ฌ์ฉ์๊ฐ ์ ์ฒด์ ์ธ ํ๋ฆ์ ๋ง๋ค๊ณ ํ์ํ ๊ธฐ๋ฅ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ๊ฐ์ ธ๋ค ์ฐ๋ ๊ตฌ์กฐ๋ผ๊ณ ํ ์ ์์ต๋๋ค.
- ์นํฉ๊ณผ ๋ฐ๋ฒจ
- ์นํฉ์ ์์กด์ฑ ์๋ ๋ชจ๋์ ํ๋์ ํ์ผ๋ก ํตํฉ์์ผ์ฃผ๋ ๋๊ตฌ์ธ ๋ฒ๋ค๋ฌ์ ๋๋ค. ๋ง์ฝ ํ์ด์ง ๋ก๋ ์ ๋งค๋ฒ ๊ฐ๊ฐ์ ๋ชจ๋์ ๋ฐ๋ก ๋ค์ด๋ก๋ํ๋ฉด ๋คํธ์ํฌ ๋ณ๋ชฉํ์์ด ์ผ์ด๋ ์ ์์ต๋๋ค. ์ด์ฒ๋ผ ๋ฒ๋ค๋ฌ๊ฐ ์ฌ๋ฌ ํ์ผ์ ํ๋๋ก ํตํฉํด์ฃผ๊ธฐ ๋๋ฌธ์ ๊ธฐ๋ฅ๋ณ๋ก ์ฝ๋๋ฅผ ๋ชจ๋ํํ์ฌ ๊ฐ๋ฐํ ์ ์์ต๋๋ค.
- ๋ฐ๋ฒจ์ ์๋ฐ์คํฌ๋ฆฝํธ ํธ๋์คํ์ผ๋ฌ์ ๋๋ค. ์ต์ ๋ฒ์ ์ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฌธ๋ฒ์ ์ฌ์ฉํด ๊ฐ๋ฐํ ๊ฒ์ ๊ตฌ๋ฒ์ ์ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฌธ๋ฒ์ผ๋ก ๋ฐ๊ฟ์ฃผ์ด ๋ค์ํ ์ฌ๋ฌ ๋ฒ์ ์ ๋ธ๋ผ์ฐ์ ๋ค์ด ํด์ํ ์ ์๋๋ก ๋์์ค๋๋ค.
- ํ๋ก์ ์๋ฒ
- ํด๋ผ์ด์ธํธ๊ฐ ๋ค๋ฅธ ๋คํธ์ํฌ์ ์ ์ํ ์ ์๋๋ก ์ค๊ฐ์์ ๋๋ฆฌํด์ฃผ๋ ์๋ฒ๋ฅผ ๋งํฉ๋๋ค. ์ฆ ์๋ฒ์ ํด๋ผ์ด์ธํธ ์ฌ์ด์์ ๋๋ฆฌ๋ก ํต์ ์ ์ํํด์ฃผ๋ ๊ธฐ๋ฅ์ ํ๋ ์๋ฒ๋ฅผ ํ๋ก์ ์๋ฒ๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.
- <script> ํ๊ทธ๋ฅผ </body> ์ ์ ๋์ด์ผ ํ๋ ์ด์
- ๋ธ๋ผ์ฐ์ ๋ <script> ํ๊ทธ๋ฅผ ๋ง๋๋ฉด html ํ์ฑ์ ๋ฉ์ถ๊ณ ์คํฌ๋ฆฝํธ๋ฅผ ๋ค์ด๋ก๋ ๋ฐ์ ์คํํฉ๋๋ค. ๋ง์ฝ ๋ชจ๋ html ์์๊ฐ ํ์ฑ๋๊ธฐ ์ (DOM์ด ์์ฑ๋๊ธฐ ์ )์ ์คํฌ๋ฆฝํธ๋ฅผ ๋ถ๋ฌ์ค๊ฒ ๋๋ฉด DOM์ ์กฐ์ํ ์ ์๊ฒ ๋ฉ๋๋ค. ๋ฐ๋ผ์ ๋ชจ๋ html ์์๊ฐ ํ์ฑ๋ ํ์ JS ํ์ผ์ ๋ค์ด๋ก๋๋ผ๊ณ ์คํํ๋๋ก </body>์ ์์นํ๋ ๊ฒ์ด ๋ฐ๋์งํฉ๋๋ค.
- async๋ HTML ํ์ฑํ๋ ๋์์ ์คํฌ๋ฆฝํธ๋ฅผ ๋ค์ด๋ฐ๊ณ , HTMLํ์ฑ์ด ์๋ฃ๋์ง ์์๋ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ ์ ์์ ๋ ์ฆ์ ์คํํฉ๋๋ค.
- defer๋ HTML ํ์ฑํ๋ ๋์์ ์คํฌ๋ฆฝํธ๋ฅผ ๋ค์ด๋ฐ๊ณ , HTMLํ์ฑ์ด ์๋ฃ๋์ด์ผ๋ง ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ ์ ์์ต๋๋ค.
- CORS(Cross-Origin Resource Sharing)
- ์๋ก ๋ค๋ฅธ ๋๋ฉ์ธ๊ฐ์ ๋ฆฌ์์ค๋ฅผ ๊ณต์ ํ๋ ๊ฒ์ ์๋ฏธํ๋ฉฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฐจ๋จ๋์ด ์์ต๋๋ค. ์ ๋ชจ๋ฅด๋ ์ธ๋ถ์ธ์ด ๋ด ์น์ฌ์ดํธ์ ๋ฆฌ์์ค๋ฅผ ํจ๋ถ๋ก ๊ฐ์ ธ๊ฐ๋ ๊ฒ์ ์ข์ง ๋ชปํ๋๊น์. ํ์ง๋ง ํ์์ ์ํ ์ธ๋ถ ๋ฐ์ดํฐ ๊ณต์ ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฐจ๋จ๋์ด ์๋ CORS ์๋ฌ๋ฅผ ํด๊ฒฐํด์ผ ๊ฐ๋ฅํฉ๋๋ค.
- CORS ์๋ฌ ํด๊ฒฐ ๋ฐฉ๋ฒ: ์๋ฒ์์ ์๋ต ํค๋์ ํน์ ํค๋๋ฅผ ํฌํจํ๋ ๋ฐฉ์์ผ๋ก ์ค์ ํด์ฃผ์ด ํด๊ฒฐํ ์ ์์ต๋๋ค.
TypeScript
- ํ์
์คํฌ๋ฆฝํธ๋?
- ํ์ ์คํฌ๋ฆฝํธ๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ชจ๋ ๊ธฐ๋ฅ์ ํฌํจํ๋ฉด์ ํ์ ์ด๋ ์ฌ๋ฌ ๋ค๋ฅธ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋๋ค.
- ์๋ฐ์คํฌ๋ฆฝํธ๋ ๋ณ์ ์ ์ธ ์ ๋ณ๋๋ก ํ์ ์ ์ ์ธํ์ง ์๊ณ , ๋ณ์์ ๊ฐ์ ํ ๋นํ๋ ์์ ์ ๋ณ์์ ํ์ ์ด ๋์ ์ผ๋ก ๊ฒฐ์ ๋ฉ๋๋ค. ๋ฐ๋๋ก ํ์ ์คํฌ๋ฆฝํธ๋ ๋ณ์ ์ ์ธ ์ ํ์ ์ ์ ์ธํด์ฃผ์ด์ผ ํฉ๋๋ค.
- ์๋ฐ์คํฌ๋ฆฝํธ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ์ํด ์๋ฌต์ ์ผ๋ก ํ์ ์ด ๋ณํ๊ธฐ๋ ํด์ ๋ณ์์ ํ์ ์ ์ถ์ ํ๊ธฐ๊ฐ ์ด๋ ต๊ณ ์ ๋ขฐ์ฑ์ด ๋จ์ด์ง๋๋ค. ๋ ์ธํฐํ๋ฆฌํฐ ์ธ์ด์ด๊ธฐ ๋๋ฌธ์ ์ค์ ํ๋ก๊ทธ๋จ์ด ์คํ๋ ๋์ธ ๋ฐํ์์์ ์ค๋ฅ๋ฅผ ๋ฐ๊ฒฌํ ์ ์์ต๋๋ค.
- ํ์ง๋ง ํ์ ์คํฌ๋ฆฝํธ๋ ์ปดํ์ผ ์ธ์ด๋ก ์ปดํ์ผ ๊ณผ์ ์ ํตํด(๋ฐ๋ฒจ ๋ฑ) ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ก ๋ณํ๋๋๋ฐ, ์ด๋ ํ์ ์ ์ฒดํฌํด ์ค๋ฅ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. (๋จ, ๊ทธ๋งํผ ์ฝ๋๋์ด ์ฆ๊ฐํ๊ณ ์ปดํ์ผ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฐ๋ค๋ ๋จ์ ์ด ์์ต๋๋ค.)
- ํ์
์คํฌ๋ฆฝํธ ์ฅ๋จ์
- ์ฅ์ : ํ์ ์คํฌ๋ฆฝํธ๋ฅผ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ์ปดํ์ผํ๋ ๊ณผ์ ์์ ๋ฏธ๋ฆฌ ํ์ ์๋ฌ๋ฅผ ๋ฐ๊ฒฌํด ๋ฐํ์ ์ ์ ์ค๋ฅ๋ฅผ ์๋ฐฉํ ์ ์์ต๋๋ค.
- ๋จ์ : ์๋ฐ์คํฌ๋ฆฝํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ ์คํฌ๋ฆฝํธ์์ ์ฌ์ฉํ๋ ค๋ฉด ์ถ๊ฐ์ ์ธ ์์ ์ด ํ์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด type/node๋ type/react ๋ฑ ๋ชจ๋์ ์ถ๊ฐ ์ค์นํด์ผ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ปดํ์ผํ๋๋ฐ ์ถ๊ฐ์ ์ธ ์๊ฐ์ด ๋ญ๋๋ค.
- ์ปดํ์ผ๋ฌ์ ์ธํฐํ๋ฆฌํฐ ์ฐจ์ด
- ์ปดํ์ผ๋ฌ๋ ์ ์ฒด ํ์ผ์ ์ค์บํ์ฌ ํ๊บผ๋ฒ์ ๋ฒ์ญํฉ๋๋ค. ๊ทธ๋์ ์ด๊ธฐ ์ค์บ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ์ง๋ง ํ๋ฒ ์คํ ํ์ผ์ด ๋ง๋ค์ด์ง๊ณ ๋๋ฉด ๋น ๋ฆ ๋๋ค. ์ ์ฒด ์ฝ๋๋ฅผ ์ค์บํ๋ ๊ณผ์ ์์ ๋ชจ๋ ์ค๋ฅ๊ฐ ์ถ๋ ฅ๋์ด ํ๋ก๊ทธ๋จ ์คํ ์ ์ ์ค๋ฅ ํ์ธ์ด ๊ฐ๋ฅํฉ๋๋ค.
- ์ธํฐํ๋ฆฌํฐ๋ ํ๋ก๊ทธ๋จ ์คํ ์ ํ๋ฒ์ ํ ๋ฌธ์ฅ์ฉ ๋ฒ์ญํฉ๋๋ค. ๊ทธ๋์ ์คํ ์๊ฐ์ด ๋๋ฆฝ๋๋ค. ํ์ง๋ง ์ปดํ์ผ๋ฌ์ ๊ฐ์ด ์ฝ๋ ์์ฑ๊ณผ์ ์ด ์๊ธฐ ๋๋ฌธ์ ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ด ์ข์ต๋๋ค. ํ๋ก๊ทธ๋จ ์คํ ํ ์ค๋ฅ๋ฅผ ์ ์ ์์ต๋๋ค.
- ํ์
์คํฌ๋ฆฝํธ ์ฌ์ฉ ์ญ๋
- ์ธํฐํ์ด์ค - ์์ฃผ ์ฌ์ฉํ๋ ํ์ ๋ค์ ์ค๋ธ์ ํธ ํํ์ ๋ฌถ์์ผ๋ก ์ ์ํด ๋ง๋ค์ด ์ฌ์ฉํ๋ ๊ธฐ๋ฅ
- ์ ๋์ธ ํ์ - ํ๊ฐ์ง ์ด์์ ํ์ ์ ์ ์ธํ ๋ ์ฌ์ฉ ( ์: string | number)
- (์์จ๋ณธ)์ ๋ค๋ฆญ - ์ธ์๋ฅผ ๋๊ฒจ ํธ์ถํ๋ ์์ ์ ํ์ ์ ๊ฒฐ์ ํ ์ ์์.
- any์ void
- any๋ ๋ณ์์ ํ์ ์ ๋ฏธ๋ฆฌ ์์ธกํ๊ธฐ ์ด๋ ค์ธ๋ ์ฌ์ฉ๋ฉ๋๋ค. ์๋ก ์ฌ์ฉ์ input ๊ฐ์ผ๋ก ๋ฌด์์ด ๋ค์ด์ฌ์ง ๋ชจ๋ฅธ ๊ฒฝ์ฐ. ๋ฐ๋๋ก void๋ ๋ณ์์ ์ ํ์ด ์์์ ๋ํ๋ ๋๋ค(๊ฐ ํ ๋น์ null, undefined๋ง ๊ฐ๋ฅ). ๊ฐ์ ๋ฐํํ์ง ์๋ ํจ์์์ ์ฃผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
Next
- Next๋? (+Hydrate)
- ๋ฆฌ์กํธ์ ์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง ํ๋ ์์ํฌ์ ๋๋ค.
- ํด๋ผ์ด์ธํธ์์ ์์ฒญ ์ ์๋ฒ์์ ๋ฏธ๋ฆฌ ์นํ์ด์ง(html ํ์ผ)์ ์์ฑํ์ฌ ์ ๋ฌํฉ๋๋ค(Pre-Rendering). ์ด๋ ํด๋ผ์ด์ธํธ๊ฐ ๋ฐ์ ์นํ์ด์ง๋ ๋จ์ํ ํ๋ฉด๋ง ๋ณด์ฌ์ฃผ๋ html ํ์ผ์ด๊ณ ์๋ฐ์คํฌ๋ฆฝํธ ์์๋ ์๋ ์ํ์ ๋๋ค. ์ดํ ๋ฐ๋ก ๋ฆฌ์กํธ๊ฐ ๋ฒ๋ค๋ง ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ํด๋ผ์ด์ธํธ์๊ฒ ์ ๋ฌํ๊ณ , ํด๋ผ์ด์ธํธ๋ ์ด์ ์ ๋ฐ์ HTML ์ฝ๋์ JS ์ฝ๋๋ฅผ ์๋ก ๋งค์นญ์ํค๋ ๊ณผ์ ์ ์งํํฉ๋๋ค. ์ด๋ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ๋๋๋งํ ๋ ์ค์ ์นํ์ด์ง๋ฅผ ๋ค์ ๊ทธ๋ฆฌ๋ ๊ณผ์ ๊น์ง ์์ต๋๋ค(painํจ์ ํธ์ถ ์ํจ)
- ์ด๊ฒ์ ๋ง์น ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ค์ด ๋ ์์์ ํ์ํ ์์๋ฅผ ์ฑ์ด๋ค ํ์ฌ Hydrate(์ํ)๋ผ๋ ์ฉ์ด๋ก ํํํฉ๋๋ค.
- SSG์ SSR
- pre-rendering์ ๋์ ์ผ๋ก ํด์ ํ์ด์ง๋ฅผ ์์ฑํ๋ฉด SSR, ์ ์ ์ผ๋ก ํ์ด์ง๋ฅผ ์์ฑํ๋ฉด SSG ์ ๋๋ค.
- SSG๋ peges ํด๋์ staticํ ํ์ผ๋ก ์์ฑํ๊ธฐ ๋๋ฌธ์ ํด๋น ํ์ด์ง ์์ฒญ ์ ์ด๋ฏธ ์์ฑ๋ ํ์ด์ง๋ฅผ ๋ฐํํ๋ ํํ๋ก ๋์ํฉ๋๋ค. ๋ฐ๋ผ์ ๋ฆฌ์กํธ์ CSR๋ณด๋ค ์๋ต์๋๊ฐ ๋น ๋ฅด๊ณ Next์์๋ SSG ์ฌ์ฉ์ ์งํฅํฉ๋๋ค.
- getStaticProps ํจ์๋ api์ ๊ฐ์ ์ธ๋ถ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๋ ์ฉ๋๋ก ์ฌ์ฉ๋ฉ๋๋ค. props์ ๋ฆฌํด๊ฐ์ ๋ด์ ์ปดํฌ๋ํธ์ ์ ๋ฌํฉ๋๋ค.
- getStaticPaths ํจ์๋ ์ธ๋ถ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ ๋์ ์ผ๋ก ํ์ด์ง๋ฅผ ์์ฑํ๋ ์ฉ๋๋ก, ์ด๋ ์์ฑํ params ์ธ์๋ฅผ getStaticProps ํจ์์ ๋๊ฒจ ์ฃผ์ด ์ฌ์ฉํฉ๋๋ค.
- ํ์ด์ง ๋ผ์ฐํ
- Next๋ ๋ผ์ฐํฐ๋ฅผ ๋ด์ฅํ๊ณ ์์ด์ pages ํด๋์ ์๋ ํ์ผ ์ด๋ฆ ๊ทธ๋๋ก ๋ผ์ฐํ ํฉ๋๋ค.
Redux
- ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ ์ํ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์ํ(state)๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๊ฒ ๋์์ค๋๋ค.
- ๋ฆฌ์กํธ๋ ๋จ๋ฐฉํฅ์ผ๋ก๋ง ์ํ๋ฅผ ์ ๋ฌํ ์ ์๊ธฐ ๋๋ฌธ์ ์ปดํฌ๋ํธ ๊ตฌ์กฐ๊ฐ ๋ณต์กํ ์๋ก ์ํ๋ฅผ ์ถ์ ํ๊ณ ๊ด๋ฆฌํ๋๋ฐ ์ด๋ ต์ต๋๋ค. ์ด๋ ๋ฆฌ๋์ค๋ ์ํ๋ฅผ ์ปดํฌ๋ํธ ์ธ๋ถ์์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๊ฒ ํด์ค๋๋ค. ์ฝ๊ฒ ์ํ๊ฐ์ ๊ณต์ ํ๊ณ ์ ๋ฐ์ดํธํ ์ ์์ต๋๋ค.
- ์ปดํฌ๋ํธ์์ ์ํ์ ๊ด๋ จ ๋ก์ง์ ๋ณ๋์ ํ์ผ๋ก ๋ถ๋ฆฌ์์ผ ์ฒด๊ณ์ ์ผ๋ก ๊ด๋ฆฌํ๋๋ฐ ์์ ํจ์จ์ ๊ทน๋ํํด์ค๋๋ค. (์ํ ์ค์ํ)
- ๋ฆฌ๋์ค ์คํ ์ด ํ๊ฒฝ ์ค์ ์ ๋๋ฌด ๋ณต์กํด ๋ฆฌ๋์ค ํดํท์ผ๋ก ์ฝ๋๋ ์ข๋ ๊ฐ๋จํ ์์ฑํจ์ผ๋ก์ ๊ทธ ๋ณต์กํฉ์ ๋ฎ์ถฐ ์ฌ์ฉ์ฑ์ ๋์ผ ์ ์์ต๋๋ค. configureStore ํจ์์์ ๋ฆฌ๋์๋ช , ๋ฆฌ๋์ ๋ฑ ์ ๋ณด๋ฅผ ์ ๋ฌํฉ๋๋ค.
Redux-saga
- ๋น๋๊ธฐ ์์ ์ ๊ฐ์ ๋ถ์์ ์ธ ์์ ์ ๋ฐ๋ก ์ฒ๋ฆฌํ๋๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๋ฆฌ๋์ค์ action์ด ๋ฐ์ํ๋ฉด reducer๊ฐ ๊ทธ ์ก์ ์ ์ฒ๋ฆฌํ๊ธฐ ์ ์ ์ฌ๋ฌ ์์ ์ ํ ์ ์๋๋ก ๋ฏธ๋ค์จ์ด ์ญํ ์ ํด์ค๋๋ค.
- put: ์ธ์๋ก ๋ค์ด์จ ์ก์ ์ dispatchํฉ๋๋ค. call: ์ฃผ์ด์ง ํจ์๋ฅผ ์คํํฉ๋๋ค. takeEvrey: ํน์ ์ก์ ์ ๋ํด ํน์ ํจ์ ์์ ์ ์ฒ๋ฆฌํด์ค๋๋ค.