Vuex: 구성 요소에서 직접 작업 건너뛰기 및 돌연변이 커밋
vue.js 앱에서 vuex를 상태 관리 저장소로 사용하는 경우 vuex에서 속성 값을 간단히 변경하면 된다.이를 위해 두 가지 방법을 따를 수 있다.
는 급파하다.
action
방법은 그 이상을 책임 진다.mutation
결국 상태를 변화시킬 것이다.두번째 메서드는을 저지르는 것이다.
mutation
바로 성분과 돌연변이 메서드에서 다음 상태를 변화시킬 것이다.
현재 나는 다음과 같은 첫 번째 방법을 사용하고 있다.
구성 요소:
this.$store.dispatch('updateNotice', 'This is some notice')
액션에서:
updateNotice ({state, getters, commit}, payload) { commit('UPDATE_NOTICE', payload) }
돌연변이:
UPDATE_NOTICE (state, payload) { state.notice = payload }
As you might have noticed, I'm using theaction
다른 논리 또는 비동기 기능 없이 단일 돌연변이를 수행하는 방법.
제 질문은, 이 경우에는, 직접 기기 자체에서 변이를 저지르지 않을까 하는 것입니다.가장 좋은 연습은?를 사용하기 때문에action
이 단순한 경우에 방법이 구체적인 목적을 장황한 것 같다.
내가 항상 어떠한 이유가 있는가.commit
구성 요소에서 행동?결국,에서 vuex은...mapMutations()
어떤 이유가 존재할 생각은 없다.
너의 경우에 직접 부품을 사용하여에서 돌연변이는 저지르기 위해 괜찮을 것이다....mapMutations
또는$store
사례.
네가 최선의 관행을 물었다, 행동의 존재 이유로는 Asynchronicity.반면 전화 할 이러한 반면에 행동할 수 있는, 비동길 수 없다.$store.commit
한 부품에 바로 이런 동기 사건이었지만, 당신이 부를 때.dispatch
그 커밋 비동기적으로 액션 블록에 돌연변이와 달리 취급할 수 있다.
따라서 최상의 방법은 비동기적으로 처리해야 할 때 액션을 사용하여 상태를 수정하여 커밋하는 것이다. 이러한 경우 상태 변경을 커밋하기 전에 API 호출을 수행해야 한다고 말한다.
'programing' 카테고리의 다른 글
Vue/Vuex:배열 프록시 개체에 개체에서 발군의 공을 세우다. (0) | 2022.05.17 |
---|---|
Vuex의 한 모듈에서 다른 모듈 상태 변경 (0) | 2022.05.17 |
다른 모듈 작업에서 vuex 모듈 상태 가져오기 (0) | 2022.05.17 |
어떻게 개체의 Vuex 주에 있는이 그 부동산에 대한 구성 요소에서 가치를 할당할? (0) | 2022.05.17 |
자바의 문자열에서 숫자를 추출합니다. (0) | 2022.05.17 |