programing

리덕스 셀렉터와 같은 Vuex 셀렉터

goodsources 2022. 7. 11. 21:32
반응형

리덕스 셀렉터와 같은 Vuex 셀렉터

내 nuxt 프로젝트에는 다른 가게 속성에서 추론할 수 있는 소품들이 있습니다.

redex에서는 필요할 때마다 reselect를 사용하여 스토어가 변이될 때마다 계산하고 모든 렌더에서 계산하지 않아도 됩니까?

nuxt/vuex에서도 같은 것을 실현하려면 어떻게 해야 합니까?

고마워요.

생각엔 네가 원하는 건 게터인 것 같아.

Vuex를 사용하면 스토어에서 "getters"를 정의할 수 있습니다.이러한 속성은 상점의 계산된 속성이라고 생각할 수 있습니다.계산된 속성과 마찬가지로 getter의 결과는 종속성에 따라 캐시되며 종속성의 일부가 변경된 경우에만 재평가됩니다.

// store/index.js

export const state = () => ({
  todos: [
    { id: 1, text: '...', done: true },
    { id: 2, text: '...', done: false }
  ]
})

export const getters =  {
  doneTodos: state => {
    return state.todos.filter(todo => todo.done)
  }
}
mounted() {
  // accessing in a component
  this.$store.getters.doneTodos
}

링크한 문서를 참조하십시오.이 문서에는 결과를 캐시하지 않는 메서드 기반 getter 사용 방법 등 더 많은 예가 있습니다.

getter가 모듈 내에서 정의되어 있는 경우 구문은 조금 다릅니다.할 필요가 있다store.getters['module/doneTodos'],어디에module는 보유하고 있는 스토어 모듈의 이름입니다.

언급URL : https://stackoverflow.com/questions/58860690/vuex-selector-like-redux-reselect

반응형