ํ์ฌ ๊ฐ์ธ ํ๋ก์ ํธ๋ก React์ Redux, Redux-saga๋ฅผ ์ด์ฉํด ๊ฐ๋ฐ ์ค์ด๋ค. ๊ทธ๋์ ๊ฐ๊ฐ ์ด๋ค ์ด์ ๋ก ์ด์ฉํ๋์ง ์ ๋ฆฌํ๊ณ ์ ๊ธ์ ์ ์ด๋ณธ๋ค.
#. React
๋ฆฌ์กํธ๋ ๊ธฐ๋ฅ ๋จ์, UI ๋จ์๋ก ์บก์ํํ์ฌ ์ฝ๋๋ฅผ ๊ด๋ฆฌํ๊ธฐ ๋๋ฌธ์ ์ฌ์ฌ์ฉ์ฑ์ด ๋๋ค. ๋ํ Virtual DOM์ ํตํด ์ด๋ฒคํธ ๋ฐ์ ์ ์ค์ DOM๊ณผ ๋ณ๊ฒฝ์ฌํญ์ ๋น๊ตํ์ฌ ๋ณ๊ฒฝ๋ ๋ถ๋ถ๋ง ์ฌ๋๋๋งํ๋ค. ๋ฐ๋ผ์ ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ๋์์ ๋ ํจ์จ์ ์ผ๋ก ๋๋๋ง์ ์ํํ ์ ์์ด ์ํธ์์ฉ์ด ๋ง์ UI๋ผ๋ ์ฌ์ฉ์์๊ฒ ์ข์ ํผํฌ๋จผ์ค๋ฅผ ์ ๊ณตํ ์ ์๋ค.
#. Redux / Redux-toolkit
๋ฆฌ์กํธ๋ ๋จ๋ฐฉํฅ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ ์ ์๊ธฐ ๋๋ฌธ์ ์ปดํฌ๋ํธ ๊ตฌ์กฐ๊ฐ ๋ณต์กํ ์๋ก ๋ฐ์ดํฐ๋ฅผ ์ถ์ ํ๊ณ ๊ด๋ฆฌํ๋๋ฐ ์ด๋ ค์์ด ๋ฐ์ํ๋ค(*Props Drilling ์ด์). ์ด๋ ๋ฆฌ๋์ค๋ ์ํ ๊ฐ์ ์ปดํฌ๋ํธ ๋ฐ๊นฅ์์ ๋ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋๋ก ํด์ค๋ค. ๋ฆฌ๋์ค๋ฅผ ํตํด ์ฌ๋ฌ ์ปดํฌ๋ํธ๋ฅผ ๊ฑฐ์น์ง ์๊ณ ์ฝ๊ฒ ์ํ๊ฐ์ ์ ๋ฌํ๊ฑฐ๋ ์ ๋ฐ์ดํธ๋ฅผ ํ ์ ์์ผ๋ฉฐ, ๊ธฐ์กด์ ์ปดํฌ๋ํธ์์ ์ํ ๊ด๋ จ ๋ก์ง์ ๋ค๋ฅธ ํ์ผ๋ก ๋ถ๋ฆฌ์ํฌ ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฆฌ๋์ค ํดํท์ผ๋ก ๋ณด๋ค ๋ณต์กํ ๋ฆฌ๋์ค ์ค์ ๊ณผ ๋ฐ๋ณต๋๋ ์ฝ๋๋ฅผ ์ค์ฌ ๊ฐํธํํ์๋ค.
#. Redux-saga
ํ์ฌ ๊ฐ๋ฐ ์ค์ธ ํ๋ก์ ํธ๋ ์ธ๋ถ API๋ฅผ ํตํด ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ DB์ ์ ์ฅํ์ฌ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ ๋ณด์ฌ์ฃผ๋ ๊ตฌ์กฐ์ด๋ค. ๊ทธ๋์ ์ปดํฌ๋ํธ์์ ๋น๋๊ธฐ ์์ ์ด ๋น๋ฒํ๊ฒ ์ผ์ด๋ ์ด๋ฌํ ๋ถ์์ ์ธ ์์ ์ ๋ฐ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ํด ๋ฆฌ๋์ค ์ฌ๊ฐ๋ฅผ ์ด์ฉํ์๋ค. ๋ฆฌ๋์ค ์ฌ๊ฐ๋ ๋ฆฌ๋์ค์ action์ด ๋ฐ์ํ๋ฉด reducer๊ฐ ์ก์ ์ ์ฒ๋ฆฌํ๊ธฐ ์ ์ ์ฌ๋ฌ ์์ ์ ํ ์ ์๋๋ก ๋ฏธ๋ค์จ์ด ์ญํ ์ ํด์ค๋ค.
'๊ฐ๋ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
React + Express ๋ฌดํ ์คํฌ๋กค ๊ธฐ๋ฅ (0) | 2022.10.06 |
---|---|
์๋ฐ์คํฌ๋ฆฝํธ ๋๊ธฐ์ ๋น๋๊ธฐ (0) | 2022.09.29 |
redux-saga (2) | 2022.09.27 |
mysql ํน์ ๋ฌธ์ ๋ฐ์ดํฐ ๊ฒ์ (0) | 2022.09.22 |
ios ์ฌํ๋ฆฌ, ํฌ๋กฌ heigth: 100vh ์๋ ๋ (feat. ์ด๊ฒ์ด ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ง์ธ๊ฐ) (0) | 2022.04.14 |