Vuex

ํ˜ธ๋–กยท2022๋…„ 11์›” 9์ผ
0

๐Ÿ’ก ๊ณต์‹๋ฌธ์„œ

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 ๊ฐ์ฒด ์ธ์ž๋ฅผ ๋ฐ›์Œ

0๊ฐœ์˜ ๋Œ“๊ธ€