반응형
    
    
    
  Vuex getter 및 돌연변이 이해
예를 들어, 제가 이런 vuex 가게를 가지고 있다고 가정해보죠.
state: {
  docs: null, 
  adds: [],
  deletes: [],
},
actions: {
  // initialize docs to an array of objects
  init (context, payload) {
  }
}
getters: {
  // get the docs plus the adds, minus the deletes
  docs (state) {
  }
},
mutations: {
  // add a doc, keeping track that it was added
  addDoc (state, payload) {
  }
  // remove a doc, keeping track that it was deleted
  removeDoc (state, payload) {
  }
}
저는 세터의 문서 배열을 변형하거나 게터의 배열의 유효 값을 계산하는 두 가지 선택지가 있다고 생각합니다.이러한 아이디어 중 하나가 반응성이나 성능 면에서 다른 아이디어보다 훨씬 더 나쁜가요?
즉, 다음과 같습니다.
// choice 1: really mutate the docs
addDoc (state, payload) {
  state.adds = [...state.adds, ...payload]
  state.docs = _.without([...state.docs, ...payload], state.deletes)
}
// choice 2: mutate the docs in effect, via the getter
addDoc (state, payload) {
  state.adds = [...state.adds, ...payload]
}
// choice 2, in getter
docs(state) {
  return _.without([...state.docs, ...payload], state.deletes)
}
돌연변이가 자주 발생하지 않고 게터가 자주 호출된다고 가정하면, 제가 선택 2로 계산 페널티를 지불하는 것입니까?또는 더 나은 결과가 캐시되니까(내 생각에는?) 두 가지 접근 방식이 정말로 거의 동일합니까?어느 쪽으로 가야 할지에 대한 동전 던지기인가요, 아니면 제가 결정할 수 있는 원금이 있나요? -- 감사합니다.
네, 게터는 캐시됩니다.그래서 이 경우에는 동전 하나만 던져도 될 것 같습니다.개인적으로, 저는 컴퓨터를 하는 것을 더 좋아합니다.
언급URL : https://stackoverflow.com/questions/55442611/understanding-vuex-getters-and-mutations
반응형
    
    
    
  'sourcecode' 카테고리의 다른 글
| OS X "El Capitan"에 보석을 설치할 수 없습니다. (0) | 2023.06.27 | 
|---|---|
| PL/SQL에서 출력을 새 줄로 인쇄하려면 어떻게 해야 합니까? (0) | 2023.06.27 | 
| BEA-141297 - 서버 파일 잠금을 가져올 수 없습니다. (0) | 2023.06.27 | 
| NLTK python 오류: "TypeError: 'dict_keys' 개체를 구독할 수 없습니다." (0) | 2023.06.22 | 
| 사용자 지정 ApplicationContextInitializer를 스프링 부팅 응용 프로그램에 추가하는 방법은 무엇입니까? (0) | 2023.06.22 |