반응형
Vuex mapState 기능에 유형을 제공하는 방법
내 Vuex 구성 요소에서 Typecript를 사용 중이며 다음 매핑 기능에 유형을 제공하려는 경우mapState
. 직감적으로 이렇게 썼다.
@Component({
computed: {
...mapState( MY_NAMESPACE, {
fooIndex: ( state: MyModel ) => state.values.indexOf('foo')
})
// more computed props here
}
})
export default class MyComponent extends Vue {}
이 작업은 과거에 수행되었지만 종속성을 업그레이드한 후 더 이상 작동하지 않고 오류가 발생함No overload matches this call. Overload 1 of 6, '(namespace: string, map: string[]): { [x: string]: Computed; }', gave the following error.
해결 방법으로 기능 파라미터에서 유형을 제거하고 다음과 같이 캐스팅할 수 있다.
@Component({
computed: {
...mapState( MY_NAMESPACE, {
fooIndex: state => (state as MyModel).values.indexOf('foo')
}),
}
})
export default class MyComponent extends Vue {}
유형을 더 잘 표현할 수 있는 방법이 없을까?
유형을 에 대한 일반 형식으로 제공할 수 있다.mapState
방법, 이와 같은 것:
@Component({
computed: {
...mapState<MyModel>( MY_NAMESPACE, {
fooIndex: (state: MyModel) => state.values.indexOf('foo')
}),
}
})
export default class MyComponent extends Vue {}
참조URL: https://stackoverflow.com/questions/60510684/how-can-i-supply-types-to-vuex-mapstate-functions
반응형
'programing' 카테고리의 다른 글
Composition API(Vue 3)에서 Vuex 게터를 보는 방법 (0) | 2022.04.15 |
---|---|
Java에서 변수의 메모리 주소 (0) | 2022.04.15 |
SweetAlert2 html 출력에서 v-for를 사용하는 방법 (0) | 2022.04.15 |
C, C++, C#에서 보이드는 무엇을 의미하는가? (0) | 2022.04.15 |
Vuex Store는 콘솔 또는 클라이언트 브라우저에서 액세스할 수 있는가? (0) | 2022.04.15 |