Vue.js 완벽 가이드 - VUEX === ###### tags: `석기` --- ## 스토어 구현 이전과 달라지는 부분 <img width="837" alt="image" src="https://user-images.githubusercontent.com/52649378/163677379-37495350-de46-4c27-b04b-830a8e8f16cf.png"> --- 1. VUEX 설치 ```lua= npm i vuex@3.6.2 ``` 2. 모듈화 - `src/store/index.js` 에 모듈화를 진행한다. 3. 선언 ```javascript= import Vue from 'vue'; import Vuex from 'vuex'; Vue.use(Vuex); new Vuex.Store({ state: { ... }, getters: { ... }, mutations { ... }, actions: { ... }, }) ``` ### State - vuex는 상태관리가 목적이다. - 현재 NewsView가 users data 속성을 다른 컴포넌트에서 조작해야할 경우가 있다. ### Actions - 모든 api 콜은 이곳에서. - api를 vuex에서 호출한다? -> actions 에서 호출하여야한다. - 가져온 데이터를 state에 넣고싶다? - 바로 넣을수 없다!!!!! - 기본적으로 제공되는 `context` 라는 객체/인자가 제공된다. - 해당 context의 commit이라는 api를 통해서 **mutation**에 데이터를 넘긴다. ### Dispatch - action의 함수를 호출하려면 dispatch를 통해 호출하여야 한다. <img width="780" alt="image" src="https://user-images.githubusercontent.com/52649378/163678661-e731b014-486d-4481-968d-5ce91badfe8b.png"> --- ### mapGetters ### mapState ### computed http://itnovice1.blogspot.com/2019/01/vue-mapstate-mapgetters.html --- ### Store를 모듈화하자! - mutations, actions 관련 - 해당 객체는 모듈화를 통해서 분리해보자.