๐ก ๊ณต์๋ฌธ์
Vuex
- Vue.js ์ ํ๋ฆฌ์ผ์ด์
์ ๋ํ ์ํ ๊ด๋ฆฌ ํจํด + ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- ์ ํ๋ฆฌ์ผ์ด์
๋ชจ๋ ์ปดํฌ๋ํธ๋ค์ ์ค์ ์ ์ฅ์ ์ญํ (๋ฐ์ดํฐ ๊ด๋ฆฌ)
- ๋ถ๋ชจ ์์ ๋จ๊ณ๊ฐ ๋ง์ด ๋ณต์กํด์ง๋ค๋ฉด ๋ฐ์ดํฐ์ ์ ๋ฌํ๋ ๋ถ๋ถ์ด ๋งค์ฐ ๋ณต์กํด ์ง
- ์ ํ๋ฆฌ์ผ์ด์
์ด ์ฌ๋ฌ ๊ตฌ์ฑ ์์๋ก ๊ตฌ์ฑ๋๊ณ ๋ ์ปค์ง๋ ๊ฒฝ์ฐ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๋ ๋ฌธ์ ๋ฐ์
- devtools ํ์ฅ ํ๋ก๊ทธ๋จ๊ณผ ํตํฉ๋์ด ๊ณ ๊ธ ๊ธฐ๋ฅ์ ์ ๊ณต
Vuex ํต์ฌ ์ปจ์
- state : ๋จ์ผ ์ํ ํธ๋ฆฌ ์ฌ์ฉ, ์ ํ๋ฆฌ์ผ์ด์
๋ง๋ค ํ๋์ ์ ์ฅ์๋ฅผ ๊ด๋ฆฌ (data)
์ด ๋จ์ผ ๊ฐ์ฒด๋ ๋ชจ๋ ์ ํ๋ฆฌ์ผ์ด์
์์ค์ ์ํ๋ฅผ ํฌํจํ๋ฉฐ "์๋ณธ ์์ค"์ ์ญํ
๊ฐ ์ ํ๋ฆฌ์ผ์ด์
๋ง๋ค ํ๋์ ์ ์ฅ์๋ง ๊ฐ๊ฒ ๋๋ค๋ ๊ฒ์ ์๋ฏธ
์ ํ๋ฆฌ์ผ์ด์
์์ ๊ณต์ ํด์ผ ํ data ๊ด๋ฆฌ
๊ณตํต์ ์ผ๋ก ๋ง์ด ์ฌ์ฉ๋๋ data
๊ฐ์ด ๋ณ๊ฒฝ๋๋ฉด ํด๋น state๋ฅผ ๊ณต์ ํ๋ ์ฌ๋ฌ ์ปดํฌ๋ํธ์ DOM์ ์์์ ๋ ๋๋ง
- Getters : Vue Instance์ computed์ ๊ฐ์ ์ญํ , State๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ณ์ฐ (computed)
State๋ฅผ ๋ณ๊ฒฝํ์ง ์๊ณ ํ์ฉํ์ฌ ๊ณ์ฐ์ ์ํ
computed ์์ฑ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก state ์ข
์์ฑ์ ๋ฐ๋ผ ์บ์๋๊ณ , ์ผ๋ถ ์ข
์์ฑ์ด ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ์๋ง ๋ค์ ์ฌ๊ณ์ฐ(State๊ฐ ๋ณ๊ฒฝ๋๋ฉด ๋ค์ ์ฌ๊ณ์ฐ)
- Mutations : State์ ์ํ๋ฅผ ๋ณ๊ฒฝํ๋ ์ ์ผํ ๋ฐฉ๋ฒ (methods)
mutation์ ํธ๋ค๋ฌ ํจ์๋ ๋ฐ๋์ ๋๊ธฐ์ ์ด์ด์ผ ํจ(๋น๋๊ธฐ ์ฝ๋ฐฑํจ์์ ์ค์ ๋ก ํธ์ถ ์๊ธฐ๋ฅผ ์ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์ผ๋ฏ๋ก ์ถ์ ํ ์ ์๊ธฐ ๋๋ฌธ์)
- Actions : ์ํ๋ฅผ ๋ณ์ด์ํค๋ ๋์ ์ก์
์ผ๋ก ๋ณ์ด(Mutations)์ ๋ํ ์ปค๋ฐ ์ฒ๋ฆฌ (๋น๋๊ธฐ methods)
์ฆ, ์ํ(data)๋ฅผ ์ง์ ๋ณ์ด์ํค๋ ๊ฒ์ด ์๋๋ผ ์ก์
์ผ๋ก Mutation์ผ๋ก ํธ์ถํ์ฌ ์ฒ๋ฆฌํ๋ค.
๋น๋๊ธฐ ์์
์ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฉํ๋ ค๊ณ ํ ๋ ์ฌ์ฉ
context ๊ฐ์ฒด ์ธ์๋ฅผ ๋ฐ์