• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

createListView의 return type

22.01.06 15:00 작성 조회수 211

1

20:3  warning  Missing return type on function  @typescript-eslint/explicit-module-boundary-types

에러는 아니고 워닝이긴 하지만,  CreateListView 코드에서 위와 같은 워닝이 뜹니다.

ComponentOptions를  넣으면 될 것 같아서 넣어보았는데.. 

5:55 Generic type 'ComponentOptions<V, Data, Methods, Computed, PropsDef, Props>' requires between 1 and 6 type arguments.

이런 에러가 발생해서 검색을 해보니... 최종적으로 아래와 같이 작성하니 에러가 없이 동작하는 것 같습니다.

import ListView from "./ListView.vue";
import bus from "../utils/bus";
import { ComponentOptions, CreateElement } from "vue";

export default function createListView(name: string): ComponentOptions<Vue> {
return {
name,
mounted() {
bus.$emit("off:progress");
},
render(h: CreateElement) {
return h(ListView);
},
};
}

대충 찾아서 워닝이 발생하지 않아서 맞나 싶긴한데 리턴 타입이 모호한 경우, 보통 어떤 식으로 찾는지 궁금합니다. (저는 에러 로그와 인터넷에서 찾은 정보를 조합해서 몇 개 트라이 해보는 방식으로 처리했습니다.)

그리고 실무에서는 워닝 정도는 보통 무시하고 가는지 아니면 어떻게든 찾아서 해결하는지도 궁금합니다.

답변 1

답변을 작성해보세요.

0

안녕하세요 eze님, 좋은 질문 주셨네요 :) 보통은 해당 타입과 유사한 타입을 사용하는 라이브러리 선언 파일이나 해당 소스의 코드를 보고 추론하여 정의합니다. 실무에서는 팀과 프로젝트 상황에 따라 다를 것 같은데요. 타입스크립트 입문 강의에서 안내해 드린 타입스크립트의 이점을 가져가기 위해서는 가급적 구체적으로 타입을 정의하시는 게 좋긴 합니다 :)