์ด๋ฒ ํ ํ๋ก์ ํธ์์ redux์ ์ฌ์ฉํ ์ผ์ด ์์ด ๊ณต๋ถ๋ ํ ๊ฒธ ์ ๋ฆฌํด๋ด ๋๋ค!
์ฐ์ redux๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ์์์ผ ํ 4๊ฐ์ง ๊ฐ๋ ์ ๊ฐ๋จํ๊ฒ ์ ๋ฆฌํด๋ณด๋ฉด
1. redux
๋ณต์กํ ์ํ๋ฅผ ๊ด๋ฆฌํ๋๋ฐ ๋์์ด ๋๋ ์ํ ๊ด๋ฆฌ ๋๊ตฌ์ด๋ฉฐ ์์ธก์ด ๊ฐ๋ฅํ๋ค.
์ค์ ๋ฐ์ดํฐ ์ ์ฅ์ (CDN)๋ฅผ ํตํด ์ ์ฒด ๋ฐ์ดํฐ ์ ์ฅ์๋ฅผ ํ ๊ณณ์์ ๊ด๋ฆฌํ ์ ์๋ค.
2. reducers
์ํ๋ฅผ ๊ด๋ฆฌํ๊ณ ์๋กญ๊ฒ ์ ๋ฐ์ดํธ๋ ์ํ๋ฅผ ๋ฐํํด์ค๋ค.
3. actions
actions๋ type, payload ๋ ๊ฐ์ง ์์ฑ์ ๊ฐ์ง๋ฉฐ
type๋ ๊ณ ์ ์๋ณ์
payload๋ ๋์คํจ์น์ ๋ํ ๋ฐ์ดํฐ๊ฐ ํฌํจ๋์ด ์๋ค.
4. dispatch
๋ฐ์ดํฐ ์ ๋ฐ์ดํธ actions๋ฅผ ๋ณด๋ด๋ ๋ฐ ์ฌ์ฉ๋๋ค.
Redux ์ฌ์ฉ
1. react์์ redux๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ๋จผ์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํด์ฃผ์ด์ผ ํ๋ค.
npm install redux react-redux
2. store , reducers ์์ฑ
reducers์์ state๋ฅผ ๋ฆฌํดํด์ค์ผ ํ๋ค.
3. store์ ์ ๊ทผํ ์ ์๊ฒ index ํ์ผ์์ Provider๋ก ๊ฐ์ธ์ค๋ค.
4. useSelector๋ฅผ ์ฌ์ฉํ์ฌ store์์ ํน์ state๋ฅผ ๊ฐ์ ธ์จ๋ค.
store ์ํ ์ ๋ฐ์ดํธ
dispatch๋ฅผ ํตํด actions๋ฅผ ์ ๋ฌํด์ฃผ๋ฉด
reducer์์ action type์ ๋ฐ๋ผ ์ํ๋ฅผ ์ ๋ฐ์ดํธํด์ค ์ ์๋ค.
1. useDispatch ์ฌ์ฉ
์๋ ์ฌ์ง๊ณผ ๊ฐ์ด useDispatch๋ฅผ ํตํด dispatch๋ฅผ ์ ์ธํ ๋ค
์ํ๋ ์ด๋ฒคํธ์ dispatch๋ฅผ ํตํด type, payload (์ ๋ฐ์ดํธํ ๋ฐ์ดํฐ)๋ฅผ ์ ๋ฌํด์ค๋ค.
2. reducer์์ ํ์ฌ ์ ๋ฌ๋ฐ์ action์ ์ฒ๋ฆฌํ ์ ์๋์ง ํ๋จํ ๋ค ์ฒ๋ฆฌํ๋ค.
์ฒ๋ฆฌํ ์ ์๋ค๋ฉด ๊ธฐ์กด state๋ฅผ ๋ฆฌํดํด์ค๋ค.
์ฃผ์ ์ฌํญ์ผ๋ก reducer์์๋ ๋๊ธฐ ํจ์๋ง ์ฌ์ฉํด์ค์ผ ํ๋ฉฐ,
์ด๋ค ์ฌ์ด๋ ์ดํํธ๋ ์ํ๋๋ฉด ์ ๋๋ค.
์๋ ์ํ๋ฅผ ๋ณ๊ฒฝํ๋ฉด ์ ๋๋ค.
redux์ ๋ํ ์์ ๊ธฐ์ด๋ง ์ ๋ฆฌํด๋ดค๋๋ฐ... ์ฌ๋ฐ์์ต๋๋ค.!
์ด์ toolkit!! ๋ง์ด ๋ค์ด๋ณธ ์น๊ตฌ์ธ๋ฐ ๋ฐ๋ก ๊ณต๋ถํด๋ด์ผ๊ฒ ์ต๋๋ค..!!

์ฐธ์กฐ ์๋ฃ
https://www.youtube.com/watch?v=zrs7u6bdbUw
'๐ Study Note > React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Pomodoro - TS, React, Tailwind CSS (0) | 2023.01.02 |
---|---|
์ธ๋ถ ํด๋ฆญ ์ด๋ฒคํธ - React (0) | 2022.10.05 |
Netlify ๋ฐฐํฌ ์๋ฌ ํด๊ฒฐ - React Router Dom (0) | 2022.09.02 |
Toast ui editor - Failed to parse source map (0) | 2022.08.30 |
Toast ui editor ๋ฆฌ์กํธ ๋ฒ์ ์๋ฌ (0) | 2022.08.30 |