-
Vuex 시작하기(1) - Vuex란 ?Vue/Vuex 2021. 6. 30. 15:04
- Vuex란 무엇인가 ?
- Vue.js 어플리케이션에 대한 상태 관리 패턴 + 라이브러리
- 모든 컴포넌트에 대한 중앙 집중식 저장소 역할
- 예측 가능한 방식으로 상태 변경
- 다른 상태관리 라이브러리와는 달리 Vue.js가 효율적인 업데이트를 위해 세분화된 반응 시스템을 활용하도록 특별히 고안된 라이브러리
- 상태 관리 패턴이란 ?
new Vue({ // 상태 data () { return { count: 0 } }, // 뷰 template: ` <div>{{ count }}</div> `, // 액션 methods: { increment () { this.count++ } } })
- 상태: 앱을 작동하는 원본 소스
- 뷰: 상태의 선언적 매핑
- 액션: 뷰에서 사용자 입력에 대해 반응적으로 상태를 바꾸는 방법
단방향 데이터 흐름 - 한계점: 공통의 상태를 공유하는 여러 컴포넌트가 있는 경우
- 여러 뷰는 같은 상태에 의존
- 지나치게 중첩된 컴포넌트를 통과하는 prop는 장황할 수 있으며 형제 컴포넌트에서는 작동하지 않음
- 지나치게 중첩된 컴포넌트를 통과하는 prop는 장황할 수 있으며 형제 컴포넌트에서는 작동하지 않음
- 서로 다른 뷰의 작업은 동일한 상태를 반영해야 할 수 있음
- 직접 부모/자식 인스턴스를 참조하거나 이벤트를 통해 상태의 여러 복사본을 변경 및 동기화 하려는 등의 해결 방법을 사용해야 함. 이러한 패턴은 모두 부서지기 쉽고 유지보수가 불가능한 코드로 빠르게 변경됨
- 해결방법: Vuex
- 컴포넌트에서 공유된 상태를 추출하고 이를 전역 싱글톤으로 관리
- 컴포넌트 트리는 커다란 뷰가 되며 모든 컴포넌트는 트리에 상관없이 상태에 엑세스하거나 동작을 트리거 할 수 있음
[ 참고자료 ]
What is Vuex? | Vuex
What is Vuex? NOTE This is the docs for Vuex 4, which works with Vue 3. If you're looking for docs for Vuex 3, which works with Vue 2, please check it out here. Vuex is a state management pattern + library for Vue.js applications. It serves as a centralize
next.vuex.vuejs.org
'Vue > Vuex' 카테고리의 다른 글
Vuex 핵심 컨셉(3) - 변이(mutations) (0) 2021.07.01 Vuex 핵심 컨셉(2) - Getters (0) 2021.07.01 Vuex 핵심 컨셉(1) - 상태 (0) 2021.07.01 Vuex 시작하기(3) - Store (0) 2021.06.30 Vuex 시작하기(2) - 설치 (0) 2021.06.30