programing

Vuex에서 다른 액션 내에서 액션을 호출하는 것은 잘못된 관행입니까?

prostudy 2022. 6. 27. 20:56
반응형

Vuex에서 다른 액션 내에서 액션을 호출하는 것은 잘못된 관행입니까?

제 Vue 앱에서 다음 두 가지 대안을 생각하고 있습니다.다른 행동에서 행동을 취할 것인지, 아니면 그것이 너무 지저분한 것인지 결정하려고 한다.

다른 방법:

store.js

const actions = {
    funcOne (context) {
        //Do something
        context.dispatch(funcTwo)
    }
    funcTwo () {
        //Do something else
    }
}

component.vue

methods: {
    doSomething () {
        this.$store.dispatch(funcOne)
    }
}

또는 대안 2:

store.js

const actions = {
    funcOne () {
        //Do something
    }
    funcTwo () {
        //Do something else
    }
}

component.vue

methods: {
    doSomething () {
        this.$store.dispatch(funcOne)
        this.$store.dispatch(funcTwo)
    }
}

베스트 프랙티스가 있나요?아니면 어느 쪽을 선택해도 상관없습니다.

나쁜 관행은 아니다!쉽게 구성할 수 있도록 설계되었으며 문서에도 예가 나와 있습니다.

액션이 밀접하게 결합되어 있는 경우(즉, 모든 경우에서 한쪽을 다른 한쪽만 호출해야 하는 경우)에는 액션을 디스패치한 후 첫 번째 액션이 두 번째 액션을 호출하도록 하는 것이 좋습니다.

만약 그것들이 분리되어 있다면, 즉 어떤 순서로 불러도 괜찮고, 그것들을 개별적으로 사용할 수 있다면, 당신은 메소드에서 두 가지 동작을 호출함으로써 이것을 코딩 스타일로 더 잘 전달할 수 있다.

액션은 비동기 액션을 위한 것이므로 비동기/대기 기능을 잘 활용하면 관리가 매우 쉬워집니다.

언급URL : https://stackoverflow.com/questions/63532469/is-it-bad-practice-to-call-an-action-from-within-another-action-in-vuex

반응형