5. Vuex

뷰엑스는 뷰 애플리케이션의 상태 관리 라이브러리이다.
(개인적인 표현으로는 그냥 'Vue 전역변수 라이브러리'...)

주로 다른 컴포넌트와 공유하는 데이터들을 관리할 때 Vuex를 사용한다.

import { mapstate, mapGetters, mapMutations, mapActions } from 'vuex';
  • State
    변수 선언 및 초기화를 해주는 영역. 해당 state를 사용하고 싶다면 computed에 할당해주어 사용하면 된다.

  • Getters
    Vuex의 computed라고 보면 된다. 여러 vue 파일에서 vuex의 state를 불러와서 같은 연산을 하면 비효율적이다. 이럴 때 Vuex에서 미리 계산해놓고 사용한다.

  • Mutations
    메서드를 통해 state의 값들을 변경할 수 있다.
    commit이라는 메서드를 이용하여 뮤테이션의 메서드를 호출할 수 있다.

  • Actions
    뮤테이션처럼 메서드를 작성하지만, 비동기 흐름을 처리해야할 때 사용한다.


helper 함수

코드를 좀 더 깔끔하게 관리할 수 있다.

  • mapState, mapGetters Vuex의 state, getters를 끌어와서 사용할 수 있다.
    computed에 작성해주어야 하며 k:v 형식으로 가져와도 되고 그냥 변수이름만 딸랑 가져와도 된다.
computed: {
    ...mapState([
        cnt: 'count', ....
    ]),
    ...mapGetters({
        'count',
    })
}
  • mapMutations, mapActions methods에 작성해주어야 한다.
methods: {
    ...mapMutations({
        increment: 'increment',
        'decrement',
        // ...
    }),
    ...mapActions({
        randomNumber: 'generateRandomNumber',
        // ...
    })
}
Last Updated: