Vuex로 애플리케이션 상태 관리
Vuex란?
데이터와 그 상태를 일괄 관리하는 "상태 관리"를 위한 확장 라이브러리.
애플리케이션 규모가 커지고, 컴퍼넌트의 수도 늘어나면,
같은 「data」에 액세스 하고 싶은 경우는, 親->子->孫->曽孫
와 같이 「props」 「emit」를 건네주어 가야 합니다. Vuex를 사용하면 모든 구성 요소에서 동일한 "data"에 액세스 할 수 있도록 전체 응용 프로그램의 리액티브 속성을 정의하고 관리 할 수 있습니다.
┏━┳━┳━┳━┓
┃ ┃
┃ 컴포넌트 ┃
┃ ┃
┗━┻━┻━┻━┛
자동으로 반영 ↑
┏━┳━┳━┳━┓
┃ ┃
┃ Vuex ┃
┃ ┃
┗━┻━┻━┻━┛
↓ 자동으로 반영
┏━┳━┳━┳━┓
┃ ┃
┃ 컴포넌트 ┃
┃ ┃
┗━┻━┻━┻━┛
스토어 만들기
store는 애플리케이션 내에서 만든 "가상 데이터베이스와 같은 것"이라고 생각하십시오.
index.jsimport Vue from 'vue';
import Vuex from 'vuex';
import store from './store'; //追加
Vue.use(Vuex);
new Vue({
el: '#app',
store, // ストアをVueアプリケーションに登録する
components: {
MyApp
},
});
단일 구성 요소마다 "store.js"를 읽어야하므로 저장소 인스턴스
Vue 어플리케이션의 루트에 등록하는 것으로, 컴퍼넌트의 인스턴스 프로퍼티을 $store
로서 어디에서라도 사용할 수 있게 된다.
Vue.use(プラグイン名)
플러그인 사용에 대한 설명
new 인스턴스 생성 전에 읽힌다.
store.js
const store = new Vuex.Store({
state: {
count: 0
},
mutations: {
increment(state){
state.count ++
}
}
})
export default store
Vuex의 기본 이미지
구성 요소에서 State(状態)
를 업데이트하려면 アクション
및 ミューテーション
를 사용하십시오.
State(상태)
스테이트는, 스토어에서 관리하고 있는 상태 그 자체.
상태는 ミューテーション
이외의 위치에서 변경할 수 없습니다.
getter (게터)
스테이트를 취득하기 위한 산출 데이터이며, computed
muthods
의 중간과 같은 존재.
JavaScript 파일에서 사용할 수 있는 이미지computed
입니다.
Mutations(뮤테이션)
스테이트를 변경할 수 있는 유일한 메소드이며, 컴퍼넌트라고 하는 methods
인수로 state
및 payload(コミットからの引数)
Commit (커밋)
여기에서 커밋은 등록 된 ミューテーション
를 호출합니다 インスタンスメソッド
.
컴퍼넌트에서 말하는 $emit
와 닮아 있어 임의로 인수를 취할 수 있다.
Actions(액션)
비동기 처리를 포함할 수 있는 메소드.
데이터의 가공이나 비동기 처리를 행하고, 그 결과를 뮤테이션에 커밋한다.
dispatch (디스패치)
등록된 액션을 호출한다インスタンスメソッド
.
다른 액션 내에서도 사용할 수 있다. 선택적으로 인수를 가질 수 있습니다.
Reference
이 문제에 관하여(Vuex로 애플리케이션 상태 관리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/annaaida/items/f6cc72b92968ddd1cbe7
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
store는 애플리케이션 내에서 만든 "가상 데이터베이스와 같은 것"이라고 생각하십시오.
index.js
import Vue from 'vue';
import Vuex from 'vuex';
import store from './store'; //追加
Vue.use(Vuex);
new Vue({
el: '#app',
store, // ストアをVueアプリケーションに登録する
components: {
MyApp
},
});
단일 구성 요소마다 "store.js"를 읽어야하므로 저장소 인스턴스
Vue 어플리케이션의 루트에 등록하는 것으로, 컴퍼넌트의 인스턴스 프로퍼티을
$store
로서 어디에서라도 사용할 수 있게 된다.Vue.use(プラグイン名)
플러그인 사용에 대한 설명new 인스턴스 생성 전에 읽힌다.
store.js
const store = new Vuex.Store({
state: {
count: 0
},
mutations: {
increment(state){
state.count ++
}
}
})
export default store
Vuex의 기본 이미지
구성 요소에서 State(状態)
를 업데이트하려면 アクション
및 ミューテーション
를 사용하십시오.
State(상태)
스테이트는, 스토어에서 관리하고 있는 상태 그 자체.
상태는 ミューテーション
이외의 위치에서 변경할 수 없습니다.
getter (게터)
스테이트를 취득하기 위한 산출 데이터이며, computed
muthods
의 중간과 같은 존재.
JavaScript 파일에서 사용할 수 있는 이미지computed
입니다.
Mutations(뮤테이션)
스테이트를 변경할 수 있는 유일한 메소드이며, 컴퍼넌트라고 하는 methods
인수로 state
및 payload(コミットからの引数)
Commit (커밋)
여기에서 커밋은 등록 된 ミューテーション
를 호출합니다 インスタンスメソッド
.
컴퍼넌트에서 말하는 $emit
와 닮아 있어 임의로 인수를 취할 수 있다.
Actions(액션)
비동기 처리를 포함할 수 있는 메소드.
데이터의 가공이나 비동기 처리를 행하고, 그 결과를 뮤테이션에 커밋한다.
dispatch (디스패치)
등록된 액션을 호출한다インスタンスメソッド
.
다른 액션 내에서도 사용할 수 있다. 선택적으로 인수를 가질 수 있습니다.
Reference
이 문제에 관하여(Vuex로 애플리케이션 상태 관리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/annaaida/items/f6cc72b92968ddd1cbe7
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Vuex로 애플리케이션 상태 관리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/annaaida/items/f6cc72b92968ddd1cbe7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)