반응형
리덕스 셀렉터와 같은 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
반응형
'programing' 카테고리의 다른 글
jQuery 약속을 반환하는 Vuex 작업이 작동하지 않습니다. .fail은 함수가 아닙니다. (0) | 2022.07.11 |
---|---|
C 경고 함수 호출에 sentinel이 없습니다. (0) | 2022.07.11 |
"Vue 유형에 속성이 없습니다" 오류 해결 (0) | 2022.07.11 |
자바 룩앤필(L&F) (0) | 2022.07.11 |
"'../store'에서 'export 'store'를 찾을 수 없습니다." (0) | 2022.07.11 |