: ์๋ฐ์คํฌ๋ฆฝํธ ์ฑ์ ์ํ ์์ธก ๊ฐ๋ฅํ ์ํ ์ปจํ ์ด๋
์ํ๊ด๋ฆฌ ์์
1. ์ํ๊ฐ ๋ณ๊ฒฝ๋์ด์ผ ํ๋ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด, ๋ณ๊ฒฝ๋ ์ํ์ ๋ํ ์ ๋ณด๊ฐ ๋ด๊ธด Action ๊ฐ์ฒด๊ฐ ์์ฑ๋ฉ๋๋ค.
2. ์ด Action ๊ฐ์ฒด๋ Dispatch ํจ์์ ์ธ์๋ก ์ ๋ฌ๋ฉ๋๋ค.
3. Dispatch ํจ์๋ Action ๊ฐ์ฒด๋ฅผ Reducer ํจ์๋ก ์ ๋ฌํด์ค๋๋ค.
4. Reducer ํจ์๋ Action ๊ฐ์ฒด์ ๊ฐ์ ํ์ธํ๊ณ , ๊ทธ ๊ฐ์ ๋ฐ๋ผ ์ ์ญ ์ํ ์ ์ฅ์ Store์ ์ํ๋ฅผ ๋ณ๊ฒฝํฉ๋๋ค.
5. ์ํ๊ฐ ๋ณ๊ฒฝ๋๋ฉด, React๋ ํ๋ฉด์ ๋ค์ ๋ ๋๋ง ํฉ๋๋ค.
=> Redux์์๋ Action โ Dispatch โ Reducer โ Store ์์๋ก ๋ฐ์ดํฐ๊ฐ ๋จ๋ฐฉํฅ์ผ๋ก ํ๋ฅธ๋ค.
: React-Redux์์ Redux๋ฅผ ์ฌ์ฉํ ๋ ํ์ฉํ ์ ์๋ Hooks ๋ฉ์๋ ์ ๊ณต
๊ทธ ์ค useSelector()
, useDispatch()
์ด ๋ ๊ฐ์ง์ ๋ฉ์๋๋ฅผ ๊ธฐ์ตํ๋ฉด ๋ฉ๋๋ค.
useSelector()
: Action ๊ฐ์ฒด๋ฅผ Reducer๋ก ์ ๋ฌํด ์ฃผ๋ Dispatch ํจ์๋ฅผ ๋ฐํํ๋ ๋ฉ์๋
useDispatch()
: ์ปดํฌ๋ํธ์ state๋ฅผ ์ฐ๊ฒฐํ์ฌ Redux์ state์ ์ ๊ทผํ ์ ์๊ฒ ํด์ฃผ๋ ๋ฉ์๋
: ๋์ผํ ๋ฐ์ดํฐ๋ ํญ์ ๊ฐ์ ๊ณณ์์ ๊ฐ์ง๊ณ ์์ผ ํ๋ค๋ ์๋ฏธ
=> Redux์๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ Store๋ผ๋ ๋จ ํ๋๋ฟ์ธ ๊ณต๊ฐ์ด ์์๊ณผ ์ฐ๊ฒฐ์ด ๋๋ ์์น
: ์ํ๋ ์ฝ๊ธฐ ์ ์ฉ์ด๋ผ๋ ๋ป์ผ๋ก, React์์ ์ํ๊ฐฑ์ ํจ์๋ก๋ง ์ํ๋ฅผ ๋ณ๊ฒฝํ ์ ์์๋ ๊ฒ์ฒ๋ผ, Redux์ ์ํ๋ ์ง์ ๋ณ๊ฒฝํ ์ ์์์ ์๋ฏธ
=> Action ๊ฐ์ฒด๊ฐ ์์ด์ผ๋ง ์ํ๋ฅผ ๋ณ๊ฒฝํ ์ ์์๊ณผ ์ฐ๊ฒฐ๋๋ ์์น
: ๋ณ๊ฒฝ์ ์์ํจ์๋ก๋ง ๊ฐ๋ฅํ๋ค๋ ๋ป์ผ๋ก, ์ํ๊ฐ ์๋ฑํ ๊ฐ์ผ๋ก ๋ณ๊ฒฝ๋๋ ์ผ์ด ์๋๋ก ์์ํจ์๋ก ์์ฑ๋์ด์ผํ๋ Reducer์ ์ฐ๊ฒฐ๋๋ ์์น
+ ๋ ํผ๋ฐ์ค ๋งํฌ
robinwieruch ๋ธ๋ก๊ทธ: Redux
What is Redux? / Basics in Redux without React๋ฅผ ์ฐธ๊ณ ํ๋ฉด ์ข์ต๋๋ค.
FLUX ํจํด ๊ณต์ ๋ฌธ์