iPod Video White

๐Ÿ““ TIL

[220527] vuex

k_m_jin 2022. 5. 27. 01:38

vuex ๋ž€

vue js ๋ฅผ ์œ„ํ•œ ์ƒํƒœ ๊ด€๋ฆฌ ํŒจํ„ด+๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ด๋‹ค.

์ƒํƒœ๋ž€ ๋ฐ์ดํ„ฐ(๋ฐ˜์‘์„ฑ๋ฐ์ดํ„ฐ) ์ด๋‹ค.

 

- State

Vue ์˜ data

- Getters

Vue ์˜ computed

- Mutations

์ˆ˜์ • ๊ถŒํ•œ์ด ์žˆ๋Š” method

- Actions

 method 

- Modules

 

import {createStore} from 'vuex'

export default createStore ({
  // data
  state() {
    return {
      count: 0
    }
  },
// ๊ณ„์‚ฐ๋œ data === computed
  getters:{
    double(state){
      return state.count * 2
    }
  },
  // ์ˆ˜์ •๊ถŒํ•œ ๋ฉ”์†Œ๋“œ
  //์ˆ˜์ •๊ถŒํ•œ์ด ์žˆ๋Š” mutations์„ ์ง์ ‘ ๋‚ด๋ณด๋‚ด์„œ ์“ฐ๋Š” ๊ฒฝ์šฐ๋Š” ํ”ผํ•˜๋Š”๊ฒŒ ์ข‹์Œ
  //์ˆ˜์ • ๊ถŒํ•œ์ด ๊ฑฐ์˜ ์ „๋ถ€
  //state์—๋งŒ ์ ‘๊ทผํ•จ
  mutations: {
    increase(state){
      state.count += 1
    }
  },
  // ์™ธ๋ถ€์—์„œ ์“ธ๋• ์•ก์…˜์„๊ป„, mutstions ๋Š” ๊ฐ€๊ธ‰์  ๋‚ด๋ถ€์—์„œ
  // state, getters, mutations, actions ์— ๋ชจ๋‘ ์ ‘๊ทผ
  //context
  actions: {
    // increase(context){
    increase({commit}){
      //mutations ์„ ํ˜ธ์ถœํ•˜๋Š” comiit, actions ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” dispatch
      // ์‚ฌ์šฉ๊ถŒํ•œ์˜ ๋ณต์žกํ•จ์„ ํ•ด๊ฒฐํ•™ ใ…ฃใ…œ์ดํ•ด์„œ
      // const (state, getters, commit , dispatch) = context
      // const {commit }= context
      commit('increase')
    }
  }
})

์ถœ์ฒ˜ ํŒจ์ŠคํŠธ์บ ํผ์Šค ํ•€ํ…Œํฌ FE ๊ณผ์ • ๋ฐ•์˜์›…๊ฐ•์‚ฌ๋‹˜

๋ฐ˜์‘ํ˜•

'๐Ÿ““ TIL' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[220626]  (0) 2022.06.26
[220526] vue payload  (0) 2022.05.27
[220519]component/props /emits  (1) 2022.05.20
[220516] data / methods/ computed/ watch  (0) 2022.05.16
[220506]๐Ÿ“ข callstack / DOM api  (0) 2022.05.06