์ด๋ฒ ํ๋ก์ ํธ์์๋ MobX๋ฅผ ํตํ ์ํ๊ด๋ฆฌ๋ฅผ ๊ฒฝํํด๋ณด๊ณ ๊ณต๋ถํด๋ณผ ๋ชฉ์ ์ผ๋ก
React์ MobX๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋ฐํ ์ํ์ฌ์ดํธ์
๋๋ค.
์๋ ๋งํฌ์์ ํ๋ก์ ํธ ๋ฐ๋ชจ ํ์ธ์ด ๊ฐ๋ฅํฉ๋๋ค.
- ๐ฏ ์ฌ์ดํธ :https://isu-mobx-movie.netlify.app/
MobX_Movie.mp4
- 2021.04 ~ 2021.05
- Front End
- HTML5 / CSS3
- React
- React Hooks
- MobX
- SCSS(BEM ํ์ฉ)
- MobX๋ฅผ ํ์ฉํ ์ํ๊ด๋ฆฌ
- TMDB API๋ฅผ ์ฌ์ฉํ ์ํ์ ๋ณด๊ฒ์ ๊ธฐ๋ฅ ๊ตฌํ (์์ธ์ ๋ณด, ํธ๋ ์ผ๋ฌ)
- Material-UI๋ฅผ ์ฌ์ฉํ์ฌ ํค๋ ๊ตฌํ
- BEM ๋ฐฉ๋ฒ๋ก ์ ์ ์ฉํ SCSS๋ก ์น ๋์์ธ ๊ตฌ์ฑ
- Transaction, Transition์ ์ฌ์ฉํ ์ ๋๋ฉ์ด์ ๊ตฌํ (๋ฐฐ๊ฒฝํ๋ฉด ์ ํ)
- ๋ฐฐ๊ฒฝํ๋ฉด ์ ํ
- ๋ฉ๋ด ์ ํ
- ๊ฒ์๊ธฐ๋ฅ
- ์ํ ์์ธ์ ๋ณด ํ์ธ
- ์ํ ํธ๋ ์ผ๋ฌ ํ์ธ
- ๋ฐ์ํ ์น
์ด๋ฒ ํ๋ก์ ํธ์์๋ Redux ๋ง๊ณ MobX๋ฅผ ํตํด ์ํ๊ด๋ฆฌ๋ฅผ ํด๋ณด๊ณ ์ ํ๋ก์ ํธ๋ฅผ ์์ํด๋ณด์์ต๋๋ค.
MobX๋ฅผ ๊ณต๋ถํ๋ฉด์ ์ง์ ๊ฒฝํํด๋ณด๋
MobX๋ ๋ถ๋ณ์ฑ์ ๋ฐ๋์ ์ ์งํ ํ์๊ฐ ์์๊ณ , ์ฝ๋๊ฐ ์๊ฐ๋ณด๋ค ๊ฐ๊ฒฐํ๊ณ ์ฝ๊ฒ ๊ฐ๋ฐํ ์ ์์์ต๋๋ค.
๋ํ, ๋น๋๊ธฐ ๋์ ์ก์
์ ์คํ์ํค๊ธฐ ์ํด thunk ๋ฑ์ ๋ฏธ๋ค์จ์ด๊ฐ ๋ถํ์ํ๋ค๋ ๊ฒ์ ์ ์ ์์์ผ๋ฉฐ
React ํจ์ํ์ผ๋ก ๊ฐ๋ฐ์ ์งํํ๋ฉด์ hooks๋ฅผ ์ฌ์ฉ์ค์ด์๋๋ฐ
mobx-react ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํตํด, decorators(@action, @observable) ์์ด๋ ํ๋ก์ ํธ๋ฅผ ์์ฑํ ์ ์์์ต๋๋ค.
์ด๋ฒ ๊ฒฝํ์ผ๋ก ๊ท๋ชจ๊ฐ ์์ ํ๋ก์ ํธ ๊ฐ์ ๊ฒฝ์ฐ๋,
Redux ๋ง๊ณ ๋ MobX ๋ํ ์ํ๊ด๋ฆฌ๋ฅผ ์ํด ์๋ง๋ค๊ณ ๋๋ ์ ์์์ต๋๋ค.