Skip to content

Convention

ChanhyukPark-Tech edited this page Oct 5, 2022 · 3 revisions

type declaration

타입 선언 규칙은 하기와 같습니다. 타입이 선언되는 상황 2가지에 따라서 타입을 선언하는 곳을 정합니다.

1. 도메인 전반적으로 사용되는 경우@types/index.d.ts 를 활용하여 타입을 관리합니다.

d.ts 파일 래퍼런스

하나의 컴포넌트에서만 사용되는 경우가 아니라, 여러 컴포넌트에서 사용된다면 도메인 별로 index.d.ts에 모듈을 선언하여 사용합니다. 예를들어 ShuttleCard, ShuttleRow 라는 두 가지 컴포넌트에서 ShuttleDto 라는 타입을 사용한다면, 다음과 같이 index.d.ts 에서 선언하여 사용합니다.

declare module Shuttle {
  interface ShuttleDto {
    dummy1: string;
    dummy2: number;
  }
}

사용되는 부분

const shuttleData:Shuttle.ShuttleDto = {
  dummy1: "dummy1",
  dummy2: "dummy2"
}

2. 해당 컴포넌트에서만 사용되는 경우 (ex. props)

해당 컴포넌트에서만 사용되는 타입들을 선언할때에는 그 컴포넌트의 SomeComponent.type.ts 에 선언한 뒤 export 를 사용합니다. 그 후 컴포넌트에서 import 하여 사용합니다.

/SomeComponent or page folder
├── index.js
├── SomeComponent.tsx
├── SomeComponent.constant.tsx
├── SomeComponent.type.ts
└── SomComponent.style.ts
/SomeComponent2 or page folder
├── index.js
├── SomeComponent2.tsx
├── SomeComponent2.constant.tsx
├── SomeComponent2.type.ts
└── SomComponent2.style.ts