programing

Vuex가 일부 데이터를 구성 요소로 반환하는 중

subpage 2023. 6. 23. 22:10
반응형

Vuex가 일부 데이터를 구성 요소로 반환하는 중

vuex 작업에 axios 호출이 있습니다.

  return axios({
      method: 'get',
      url: `/myurl`,

    }).then(function (response) {
      context.commit('value', response.data.data);
    }),

그러나 이것은 내 구성 요소에서 호출됩니다.

this.$store.dispatch("fetchmystuff")

구성 요소에 값을 반환하려면 어떻게 해야 합니까?

과거에 ()를 디스패치에 첨부했습니다.

 this.$store.dispatch("fetchmystuff")
    .then(function (response) {
     //do some component stuff
 }),

하지만 먼저 vuex에서 커밋을 실행한 다음 구성 요소에 무언가를 반환하고 싶습니다.

작업을 발송했습니다.fetchmystuff구성 요소 내에서 다음 중 하나를 수행할 수 있습니다.

스토어에 상태 문의value

computed: {   
  value() {    
    return this.$store.state.value
  } 
}

상태를 파악하는 게터를 호출합니다.value계산된 속성에서.

구성 요소로

computed: {   
  value() {    
    return this.$store.getters.value
  } 
}

가게에서.js.

getters: {
  // ...
  value: (state, getters) => {
    return getters.value
  }
}

디스패처/작업이 구성 요소에 액세스할 필요가 없습니다.
(상태는 돌연변이/유전자를 통해서만 설정되며, 게터를 통해 다른 구성요소로 상태가 전달되기 때문입니다.

이를 통해 스토어와 애플리케이션의 구성 요소 간에 문제를 분리할 수 있습니다.

언급URL : https://stackoverflow.com/questions/54216291/vuex-returning-some-data-back-the-the-component

반응형