source

컴포지션 API로 Vuex 모듈 게터를 사용하려면 어떻게 해야 합니까?

manysource 2023. 6. 24. 09:18

컴포지션 API로 Vuex 모듈 게터를 사용하려면 어떻게 해야 합니까?

이것은 나의 Vuex getter입니다.

const getters = {
  getMovieById: state => id => {
    debugger;
    return state.movies.find(movie => movie.id === id);
  }
};

구성 요소에서 모듈을 가져오는 중입니다.

import movieMod from "../store/modules/movies";

Getter의 반환된 값을 내 반응형 객체에 저장하고 있습니다.

 movie = movieMod.getters.getMovieById(parseInt(props.id));

그러면 다음 기능이 반환됩니다.

(id) {
  debugger;
  return state.movies.find(function (movie) {
    return movie.id === id;
  });
}

다음을 시도합니다.

movie = movieMod.getters.getMovieById(state)(parseInt(props.id)

getMovieById는 함수를 반환하는 함수인 고차 함수입니다.사용자의 경우 반환된 기능을 실행하지 않습니다.

저는 제 접근법이 틀렸다는 것을 알았습니다.모듈을 가져오기보다는 컴포지션 API의 후크를 사용하기로 했습니다.

import { useStore } from "vuex";

setup(props) {
  const store = useStore();
  return {
    movie: computed(() => store.getters.getMovieById(parseInt(props.id)))
  };
}

언급URL : https://stackoverflow.com/questions/65528599/how-can-i-use-vuex-modules-getters-with-composition-api