๐ https://github.com/happypoulp/redux-tutorial/wiki
Tutorial 1 - simple action creator
์ฐ๋ฆฌ๋ ์ด์ ํํ ๋ฆฌ์ผ์์ action์ ๋ํด์ ์๊ธฐํด๋ณด์๋ค. ๊ทธ๋ฐ๋ฐ โaction creatorsโ๋ ์ ํํ ๋ญ๊ณ ๊ทธ๊ฒ๋ค์ โactionsโ์ ์ด๋ป๊ฒ ์ฐ๊ฒฐ๋๋๊ฑธ๊น?
๊ทธ๊ฑด ์ฌ์ค ๋๊ฒ ์ฝ๊ณ ๋ช ์ค์ ์ฝ๋๋ง์ผ๋ก ์ค๋ช ํ ์ ์๋ค!
action creator ๋ ์ฝ๊ฒ๋งํด ๊ทธ๋ฅ ํ๋์ ํจ์๋คโฆ
var actionCreator = function() {
// ...action ์์ฑํ๊ณ action ๋ฆฌํด
return {
type: 'AN_ACTION'
}
}
์ด๊ฒ ์ ๋ถ๋ค.
๊ทธ์น๋ง ์ฃผ์ํ ๊ฒ์ด action์ ํฌ๋งท์ด๋ค. flux์์์ ์ปจ๋ฒค์ ์ค ํ๋์ด๋ค. action์ โtypeโ ํ๋กํผํฐ๋ฅผ ๊ฐ๊ณ ์๋๋ค. ์ด๊ฒ ๋์ค์ action์ ํธ๋ค๋งํ๋ค. ๋ฌผ๋ก ๋ค๋ฅธ ํ๋กํผํฐ๋ ๊ฐ์ง ์ ์๊ณ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ๋๊ธธ ์ ์๋ค.
๋์ค์ action creator ๊ฐ action ๋ง๊ณ ๋ค๋ฅธ๊ฒ์ ๋ฆฌํดํ๋๊ฒ์ ํด๋ณผ๊ฑฐ๋ค. ์๋ฅผ ๋ค์ด ํจ์๋ผ๋๊ฐ. ์ด๊ฑด ๋น๋๊ธฐ action ํธ๋ค๋ง์ ์ ์ฉํ๋ค (07_dispatch-async-action-1.md).
์ฐ๋ฆฐ ์ด์ action creator๋ฅผ ํธ์ถํ ์ ์๊ณ ์์ํ๋ action์ ์ป์ ์ ์๋ค:
console.log(actionCreator())
// Output: { type: 'AN_ACTION' }
์๋ํ์ง๋ง ์ด๊ฒ ๋ค๋คโฆ ์ฐ๋ฆฌ๋ ์ด action์ด ์ด๋๊ฐ๋ก ๋ณด๋ด์ ธ์ ๊ด์ฌ์ ๊ฐ๊ณ ์๋ ๋๊ตฐ๊ฐ๊ฐ ์๊ฒ๋๊ณ ๊ทธ๊ฒ์ ๋ง์ถฐ์ ํ๋ํ ์ ์๊ฒ ํด์ผํ๋ค. ์ฐ๋ฆฐ ์ด๊ฑธ โaction ์ Dispatch ํ๋คโ ๊ณ ๋งํ๋ค.
action์ dispatch ํ๊ธฐ์ํด์๋โฆ dispatch ํจ์๊ฐ ๊ทธ๋ฆฌ๊ณ ๋๊ตฐ๊ฐ๊ฐ action์ด ๋ฐ์ํ๋ค๋๊ฒ์ ์๊ฒํ๋ ค๋ฉด, ํธ๋ค๋ฌ๋ฅผ ๋ฑ๋กํ ๋ฐฉ๋ฒ์ด ํ์ํ๋ค. flux ์ ํ๋ฆฌ์ผ์ด์ ์์ action์ ๋ฑ๋กํ ๊ทธ๋ฐ โํธ๋ค๋ฌโ๋ค์ store ๋ผ๊ณ ๋ถ๋ ค์ง๊ณ Redux์์๋ ์ด๋ป๊ฒ ๋ถ๋ ค์ง๋์ง ๋ค์์ ์์๋ณด์.
์ฌ๊ธฐ๊น์ง๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋ฆ์ด๋ค: ActionCreator -> Action
action๊ณผ action creator์ ๋ํด์๋ ์ฌ๊ธฐ์ ๋ ์์ธํ ์ ์ ์๋ค.
๋ค์: 02_about-state-and-meet-redux.md