Flux
Last updated
Last updated
React, Redux์์ ์ฌ์ฉ๋๋ Flux ํจํด์ ๋ฐ์ดํฐ์ ํ๋ฆ์ ๋จ๋ฐฉํฅ์ผ๋ก ๊ด๋ฆฌํ๋ ์น ์ดํ๋ฆฌ์ผ์ด์ ๋์์ธ ํจํด์ด๋ค.
Redux์์ ์ฌ์ฉ๋๋ ๋ฐ๋ก ๊ทธ ์ก์ ๊ฐ์ฒด์ด๋ค. ์ก์ ๊ฐ์ฒด๋ ์ดํ๋ฆฌ์ผ์ด์ ์์ ์ฌ์ฉ์์ ์ํธ์์ฉ์ผ๋ก ์ธํด ๋ฐ์ํ๋ ์ด๋ฒคํธ๋ฅผ ๊ฐ๋ฆฌํค๋ ๊ฐ์ฒด์ด๋ค.
์ฆ, ์ฌ์ฉ์์ ์ํธ์์ฉ์ผ๋ก ์ธํด ๋ณ๊ฒฝ๋๋ ๊ฐ์ฒด๋ฅผ ๋ํ๋ธ๋ค.
๋ฐ์ํ action
๊ฐ์ฒด๋ฅผ Store
์ ์ ๋ฌํด์ฃผ๋ ์ญํ ์ ํ๋ค.
์ฐ๋ฆฌ๊ฐ Redux๋ฅผ ์ฌ์ฉํ ๋
์ด๋ฐ์์ผ๋ก action๊ฐ์ฒด๋ฅผ reducer ํจ์์ ๋ด์ dispatchํ๋ ์ฝ๋๋ฅผ ๋ง์ด ์์ฑํ๊ฒ ๋๋ค. ์ด dispatch
๊ฐ ์ก์
๊ฐ์ฒด๋ฅผ ํจ์์ ๋ด์ ์คํ ์ด๋ก ์ ๋ฌ์์ผ์ฃผ๋ ์ญํ ์ ํ๋ ๊ฒ์ด๋ค.
์ฆ,
dispatch
๋ฅผ ํตํ์ง ์๊ณ ์๋ store์ ๋ฐ์ดํฐ ๋ณ๊ฒฝ์ ๋ถ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ๋จ๋ฐฉํฅ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฐ์ ์๋ค.
๋์คํจ์น๋ก ์ ๋ฌ๋ฐ์ ์ก์ ๊ฐ์ฒด ์ํ๋ฅผ ์ ์ฅํ๋ ์ญํ , ์ก์ ๊ฐ์ฒด๋ฅผ ๋ณ๊ฒฝํ๋ 2๊ฐ์ง์ ์ญํ ์ ์ํํ๋ค.
๋ค๋ง, ๋๊ฐ์ง ์ญํ ์ ๋ชจ๋ ์ํํ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์๊ฐ ๋ง์ฝ ์ก์ ๊ฐ์ฒด๋ฅผ ๋ณ๊ฒฝํ๋ ๋ก์ง์ ์์ ํ๊ฒ ๋ ๊ฒฝ์ฐ, ๊ธฐ์กด์ ์ ์ฅ๋์ด ์๋ ์ํ ๋ค๊น์ง ๋ชจ๋ ์ด๊ธฐํ ๋์ด ๋ฒ๋ฆฐ๋ค.
์ด๋ฌํ ๋จ์ ์ ๋ฆฌ๋์ค์์ ๋ ๊ธฐ๋ฅ์ ๋ถ๋ฆฌํ์ฌ ํด๊ฒฐํ๋ค.
store : ์ก์ ๊ฐ์ฒด์ ์ํ๋ฅผ ์ ์ฅํ๋ ์ญํ
reducer : ์ก์ ๊ฐ์ฒด์ ์ํ๋ฅผ ๋ณ๊ฒฝํ๋ ์ญํ
store์ ์ํ๊ฐ ์
๋ฐ์ดํธ ๋๋ฉด, View (Controller View)
๋ก ํด๋น ์ํ๊ฐ ์
๋ฐ์ดํธ ๋์๋ค๊ณ ์๋ ค์ค๋ค.
store์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ ํ๋ฉด์์ ๋ณด์ฌ์ฃผ๋ ์ญํ ์ ํ๋ค. React์ Component๊ฐ ์ข์ ์์์ด๋ค.
Controller View์ View๋ก ๋๋๋๋ฐ, React์์ ์ฌ์ฉ๋๋ ๋ถ๋ชจ ์์ ๊ฐ๋ ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค. store์ ๋ฐ์ดํฐ๊ฐ ์ ๋ฐ์ดํธ ๋์๋ค๊ณ Controller View์ ์๋ ค์ฃผ๋ฉด, ํด๋น Controller View์ ๋ชจ๋ ํ์ View์๊ฒ ํด๋น ์ํ๋ฅผ ์ ๋ฐ์ดํธ ํ๋ ๋ฐฉ์์ผ๋ก ์๋ํ๋ค.