반응형
변환을 커밋할 필요가 없는 vuex 작업
Vue와 Vuex를 사용하여 돌연변이를 통해서만 상태를 변경하는 권장 관행을 따랐습니다.따라서 모든 Vue 컴포넌트는 액션을 사용하여 상태를 변경하고 다음으로 변환을 커밋합니다.또한 일부 액션에서 API 호출을 하고 그 결과에 따라 상태를 업데이트합니다.
호출 후 상태를 업데이트할 필요가 없는 API 호출이 몇 개 있습니다.문제는 계속 액션을 사용해야 한다는 것입니다.아니면 vuex를 생략하고 컴포넌트에서 직접 호출해야 합니까?
액션을 사용하는 주된 이유는 다음과 같습니다.
- 돌연변이는 동기화할 필요가 있습니다.액션은 비동기화할 수 있습니다.-> 변환 전에 비동기 조작을 처리하려면 액션을 사용해야 합니다.
- 한 번에 여러 개의 돌연변이를 저지르고 싶다면 논리적으로 그것들을 하나의 동작으로 묶을 수 있다.
결론적으로 당신이 옳습니다.이러한 API 호출이 애플리케이션 상태를 어떤 식으로든 바꾸지 않는 것이 분명하다면 액션을 사용하여 호출해서는 안 됩니다.
컴포넌트 내에서 직접 콜을 발신하거나 필요한 기능을 보유한 모듈을 Import하거나 여러 컴포넌트 간에 각각의 메서드를 공유하려면 혼합에 넣습니다.
다만, 개발중에 이러한 콜의 결과를 애플리케이션의 복수의 컴포넌트간에 공유할 필요가 있는 것을 알게 되었을 경우는, 액션과 돌연변이를 개입시켜 각각의 로직을 스토어로 이동합니다.
{commit} 대신 _를 사용할 수 있습니다.
getAllUser(_, payload) {
let response = await ApiService.getAllUser(
payload.params
);
return response;
}
언급URL : https://stackoverflow.com/questions/52630866/vuex-actions-that-do-not-need-to-commit-a-mutation
반응형
'programing' 카테고리의 다른 글
Java 다이제스트와 외부 유틸리티의 다른 결과 (0) | 2022.07.03 |
---|---|
MAC에 JRE 8이 설치되어 있어도 "No Java Runtime present" 가 터미널에 표시됩니다. (0) | 2022.07.03 |
글로벌 vue 컴포넌트에서 메서드를 호출하려면 어떻게 해야 합니까? (0) | 2022.07.03 |
NoClassDefFoundError와 ClassNotFoundException의 원인과 차이점은 무엇입니까? (0) | 2022.07.03 |
abs 함수나 if 스테이트먼트를 사용하지 않고 절대값을 얻는다. (0) | 2022.07.02 |