티스토리 뷰

TIL/Vue

[Vue] Vuex(중앙제어)

빙빙 2021. 5. 12. 15:48

Emit & Props

  • 각 컴포넌트는 개별적으로 데이터를 관리해야한다.
  • 데이터는 단방향 흐름, 자식간에만 전달이 가능
  • 장점: 데이터의 흐름이 직관적임
  • 단점: 컴포넌트의 중첩이 많아질 경우 로직이 복잡,불편해짐

 

Vuex

프로젝트 규모가 커질 때 자연스럽게 사용한다.

  • 상태관리 패턴 + 라이브러리
  • 상태를 전역에서 관리하도록 하는 라이브러리
  • 모든 컴포넌트에 대한 중앙 집중식 저장소 역할-> 규모가 큰 프로젝트에(컴포넌트 중첩이 많은) 좋음
  • Mutations가 State를 변경 시킨다

Vuex의 구성요소

  • State :  데이터의 역할.어플리케이션마다 하나의 저장소를 관리(data),

                State에 접근하는 방삭 : this.$store.state.data_name

  • Actions : computed와 같은 역할. State를 기반으로 계산(computed)
  • Mutations : State의 상태를 변경하는 유일한 방법(동기적 메소드)

                       직접 호출이 불가능하고 store.commit('정의된 이름')으로 호출

  • Getters : 상태를 변이 시키는 대신 액션으로 변이에 대한 커밋 처리(비동기 메소드)

                  컴포넌트가 vuex의 state를 직접 접근하는 코드가 중복된다면 Getters활용

 

명령어

vue add vuex 후에

y(yes)

 

명령어를 치면 index.js에

state: {
  },
  mutations: {
  },
  actions: {
  },
  modules: {
  }

이 나온다.(중앙제어)

 

설정

import Vue from 'vue';
import Vuex from 'vuex';

Vue.user(Vuex);

 

'TIL > Vue' 카테고리의 다른 글

DOM  (0) 2021.07.26
[Vue] CORS, SOP  (0) 2021.05.18
[Vue] 새로고침해도 데이터 남아있게 만들기  (0) 2021.05.12
[Vue] Router  (0) 2021.05.12
[Vue] Vue설치/Bable/Webpack/Bundler  (0) 2021.05.10
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함