티스토리 뷰
728x90
vuex
- Vue.js application 에 대한 상태관리패턴 + 라이브러리 (https://vuex.vuejs.org/)
- application 모든 component들의 중앙 저장소 역할 (데이터 관리)
- 상위(부모) 하위(자식)의 단계가 많이 복잡해진다면 데이터 전달하는 부분이 매우 복잡
- application이 여러 구성요소로 구성되고 더 커지는 경우 데이터를 공유하는 문제가 발생
상태관리패턴
상태(data())는 앱을 작동하는 원본 소스
뷰(template)는 상태의 선언적 매핑
액션(methods)은 뷰에서 사용자 입력에 대해 반응적으로 상태를 바꾸는 방법
단방향으로 데이터의 흐름이 진행된다.
vuex의 핵심 컨셉 이해
vuex 저장소 개념
- State : 단일 상태 트리를 사용. application마다 하나의 저장소를 관리 (data)
- Getters : Vue Instance의 Computed와 같은 역할. State를 기반으로 계산 (Computed)
- Mutations : State의 상태를 변경하는 유일한 방법 (동기Methods)
- Actions : 상태를 변이시키는 대신 액션으로 변이에 대한 커밋 처리 (비동기 Methods)
Actions -> Mutataion -> State
- state
- 저장소에서 data 속성의 역할
- application에서 공유해야 할 data를 관리
- State에 접근하는 방식 : this.$store.state.data_name or ...mapState사용
computed: { ...mapState(["center"]), },
- Getters
- component가 vuex의 state를 직접 접근하는 코드가 중복된다면 ? 해결 : Stroe의 state를 참조하는 Getters 활용
- 사용 : this.$store.getters.GETTERS_NAME; or ...mapGetters 사용
- Mutations
- State의 값을 변경하기 위해서 사용
- 각 컴포넌트에서 State의 값을 직접 변경하는 것은 권장하지 않는 방식
- state값의 추적을 위해 동기적 기능에 사용
- 사용 : Mutations는 직접 호출이 불가능하고 store.commit('정의된 이름')으로 호출 or ...mapMutations 사용
- Actions
- 비동기 작업의 결과를 적용하려고 할 때 사용
- Mutations는 상태 관리를 위해 동기적으로 처리하고 비동기적인 처리는 Actions가 담당
- Actions는 비동기 로직의 처리가 종료되면 Mutations를 호출
- 사용 : this.$store.dispatch('ACTIONS_NAME') or ...mapActions 사용
반응형
'Coding-Study > Vue.js' 카테고리의 다른 글
[vue.js] b-table pagination v-for과 함께 사용하기 (0) | 2021.11.24 |
---|---|
[vue.js] 페이지 리로드 하는 법 (0) | 2021.11.24 |
[vue.js] router-link :to 가 실행되는 조건 만들어주는 법 (0) | 2021.11.23 |
[vue] v-bind로 index 보내기 (0) | 2021.11.13 |
[Vue.js][Error] Component template should contain exactly one root element. If you are using v-if on multiple elements, use v-else-if to chain them instead. 해결 (0) | 2021.11.11 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- swea 1240
- 더 맵게
- 프로그래머스 더 맵게
- SWEA
- SSAFY
- 파이썬 풀이
- 타일링 자바
- 백준 dp 문제
- poker swea
- swea 타일링 자바
- union-find
- 1240 자바
- 메뉴리뉴얼 풀이
- 백준 17144
- swea 타일링
- 프로그래머스
- ubuntu
- 백준
- 프로그래머스 자바
- 우분투
- 백준 풀이
- 파이썬
- 1699 자바
- 삼성청년SW아카데미
- yoloV3
- swea 1240 자바
- 3996 자바
- 백준파이썬
- 프로그래머스 파이썬
- swea 4070 타일링
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함