Daily/Today I Learned
210222_TIL
joooing
2021. 2. 23. 18:36
๋ฐ์ํ
๐ ์ค๋ ํ ์ผ
โ๏ธ Redux ์ฐ์ตํด๋ณด๊ธฐ
๋จผ์ Vanilla Javascript์ ํจ๊ป ์ผ์ ๊ฒฝ์ฐ๋ฅผ ์ฐ์ตํด๋ณด๋ฉด์ ์ ์ฒด์ ์ธ ํ๋ฆ์ ๋ํด ์ดํด๋ฅผ ํ๊ณ , ๊ทธ ๋ค์์ React์ ํจ๊ป ์ฌ์ฉํด๋ดค๋ค. ๋ฆฌ๋์..์ก์ ..๋์คํจ์น ๋ฑ๋ฑ ๊ต์ฅํ ์๋ก์ด ๊ฐ๋ ๋ค์ด ์์์ ธ๋์์ ์์๊ฐ ๋ฑ ์ ๋ฆฌ๋์ง ์๋ ๋๋์ด์๋๋ฐ ํ์คํ ์ฝ๋๋ฅผ ๋ฐ๋ผ๊ฐ๋ฉด์ ๋ณด๋๊น ์ข ๊ทธ๋ ค์ง๋ ๋๋์ด์๋ค.
โ๏ธ Redux - CMarket
Hooks ๋ก ๋ง๋ค์๋ C-Market์ ์ด๋ฒ์๋ Redux๋ฅผ ์ฌ์ฉํด์ ๋ค์ ๊ตฌํํด๋ดค๋ค. ์ํ ํ์ด์ง์ ์ฅ๋ฐ๊ตฌ๋ ํ์ด์ง ๋ ํ์ด์ง๋ก ๊ฐ๋จํ๊ฒ ๊ตฌ์ฑ๋๋๋ฐ, ๊ฐ ํ์ด์ง์์ ํ์ํ Action, Reducer๋ฅผ ์ง์ ์์ฑํด๋ณด๊ณ ๋ฆฌ๋์๋ฅผ combineReducer์ ํตํด ํ๋์ rootReducer๋ก ๋ง๋ค์ด Store๋ฅผ ์์ฑํ ๋ createStore์ ์ธ์๋ก ๋๊ฒจ์ฃผ๊ธฐ๋ ํ๋ค. Redux์ React๋ฅผ ์ฐ๊ฒฐ์์ผ์ฃผ๋ ๋ถ๋ถ์ connect ํจ์ ๋์ hooks๋ฅผ ์ด์ฉํ๋๋ฐ, useDispatch, useSelector๋ฅผ ์ฌ์ฉํด๋ณด์๋ค. Redux ์์ ์ค์ํ ๊ฐ๋ ๋ค์ด ์ด๋ค ํ๋ฆ์ผ๋ก ํ๋ฌ๊ฐ๋์ง ํ์ ํ๋ ์ ๋์์ ๋๋ ๊ฒ ๊ฐ์์ ์ฝ๊ฐ ์์ฌ์์ด ๋ค์๋๋ฐ, ๋ฐ๋ก ๋ฌด์ธ๊ฐ๋ฅผ ๋ง๋ค์ด๋ด์ผํ ๊ฒ ๊ฐ๋ค๋ ์๊ฐ์ด ๋ค์๋ค.
๐ ๊ธฐ์ตํ ๊ฒ
โ๏ธ Redux ๊ฐ๋
Store : ๋ชจ๋ ์ํ๋ค์ ๊ด๋ฆฌํ๋ ์ค์๊ด๋ฆฌ์
Action, Action Creator : ์ปดํฌ๋ํธ๋ (๊ฐํ) ์คํ ์ด์ state์ ์ง์ ์ ๊ทผํ ์ ์๋ค. ๋ฐ๋์ Action์ ํตํด ์ ๊ทผํด์ผ ํ๋ค.
Reducer : ์ด์ ์ํ + Action์ ํฉ์ณ โ ์๋ก์ด ์ํ๋ฅผ ๋ง๋๋ ์ญํ
dispatch ํจ์ : ์คํ ์ด ๋ด์ฅํจ์ ์ค ํ๋๋ก ์ก์ ์ ์ค์ ๋ก ๋ฐ์์ํค๋ ์ญํ
connect ํจ์ : React ์ปดํฌ๋ํธ์ Redux๋ฅผ ์ฐ๊ฒฐ
๐ ๋ ๊ณต๋ถํ ๊ฒ
โ๏ธ Redux-thunk
๋ฐ์ํ