IT이야기

js 파일에서 mapState를 사용하는 방법?

cyworld 2022. 4. 3. 21:11
반응형

js 파일에서 mapState를 사용하는 방법?

다음 주소에서 주(州)에 액세스하고 싶다..js을 이용하여 철하다mapStateVue.js.

노력했다

import { mapState } from 'vuex';

const foo = {
  ...mapState(['axios']),
};

foo.axios.get('...');

하지만 효과가 없어에러는

TypeError: foo.axios.get is not a function

그것을 이루기 위해서는 어떻게 해야 할까?

나는 다른 질문들을 검색해 보았지만, 그들은 다음으로부터 접근한다.store.state. ...사용하지 않고mapState내가 원하는 거야

을 사용하는지mapState컴포넌트에 계산된 속성을 생성하기 위한 방법으로 매우 많이 사용되기 때문에 좋은 생각이다.

그러나 다음과 같이 작동하도록 만들 수 있다.

const foo = {
  $store: store,
  ...mapState(['axios'])
};

foo.axios().get('...');

의 구현을 볼 수 있다.mapState여기:

https://github.com/vuejs/vuex/blob/dev/src/helpers.js#L7

에 의존한다는 점에 유의하십시오.this.$store그 가게의 참고자료를 구하려고.구성 요소에서 이것은 자동으로 주입되지만 개체의 경우 수동으로 추가해야 한다.

또 하나 주목할 것은 내가 지금 호출을 해야 한다는 것이다.axios()방법으로서구성 요소에 대한 계산된 속성은 함수로 정의되지만 속성으로 액세스되지만 마법의 속임수는 Vue에 의해 내부적으로 수행된다.이와 같은 정상적인 자바스크립트 객체에는 그런 마법이 없기 때문에 함수로서 기능만 부르면 된다.캐싱과 같은 계산된 속성의 다른 장점도 잃게 될 것이다.

참조URL: https://stackoverflow.com/questions/57323708/how-to-use-mapstate-in-js-files

반응형