반응형
(getter 없이) vuex 상태 속성에 직접 액세스하는 것은 잘못된 관행입니다. 그 이유는 무엇입니까?
my store.js 파일이 여기에 있는 경우:
const state = {
count: 0,
loggedIn: false
}
const mutations = {
UP_COUNT(state) {
state++;
}
}
const actions = {
upCount({ commit }) {
commit('UP_COUNT');
}
}
예를 들어 상태를 높이라고 합시다.count
Vue 컴포넌트 중 하나에서 동작을 호출하여 변환합니다.
this.$store.dispatch('upCount');
그런 다음 다른 Vue 구성 요소에서 상태 수를 사용한다고 가정합니다.
<div class="count">{{ this.$store.state.count }}</div>
이 스타일은 뭐가 문제죠?(vs 사용방법)$this.store.getters
...)
이 글에서 지적한 바와 같이, 당신이 반드시 해야 할 일은 어렵고 빠르게 할 수 있는 방법이 없지만, 연습대로 하는 것이 가장 좋습니다.
getter를 사용하는 것은 과잉으로 보일 수 있지만 getter 이름을 그대로 유지하면 getter를 사용하여 백그라운드에서 데이터를 변경할 수 있습니다.이것에 의해, 사용했을 가능성이 있는 다른 장소에의 모든 참조를 재작성해, 검색하는 작업이 큰폭으로 삭감됩니다.this.$store.state.module.someValue
.
또한 여러 상태 변수에 기반한 데이터를 하나의 getter로 반환할 수 있습니다.
`isAllowed: 'getIsAllowed'`
기초가 될 수 있다
getIsAllowed (state) {
return state.loggedIn && state.hasPermission && state.somethingElse
}
무엇을 변경할 수 있습니다.isAllowed
는 컴포넌트의 각 상태 변수를 사용하여 로직을 여러 번 실행하는 것이 아니라 한 곳에서 쉽게 기반으로 합니다.
언급URL : https://stackoverflow.com/questions/47231044/is-it-bad-practice-to-access-vuex-state-properties-directly-without-getters-a
반응형
'IT이야기' 카테고리의 다른 글
최종 C 북 가이드 및 목록 (0) | 2022.06.13 |
---|---|
Linux 공유 메모리: shmget() vs mmap()? (0) | 2022.06.13 |
Vuex: 컴포넌트 내에서 액션을 사용하는 것과 처리를 사용하는 것의 차이점 (0) | 2022.06.13 |
Vuex: 작업 내에서 완전히 중첩된 상태 데이터를 변경할 수 없습니다. (0) | 2022.06.13 |
Java 8 Date Time API(java.time)와 Joda-Time의 차이점 (0) | 2022.06.13 |