검색
검색
공개 노트 검색
회원가입로그인
내 서비스 만들기 : 프론트 엔드 (react, next, typescript)

react (next)에 typescript 적용하기

typescript

javascript에서 string, number, boolean, array, any, void 등의 타입을 지정해서 쓸 수 있게 한다.

any는 어떤 타입이라도 올 수 있는 것을 의미하며 void는 아무것도 리턴하지 않을 때 사용한다.

let myName: string = "Alice";

이런 식으로 : (colon) 옆에 타입을 지정해 주면 된다.

type alias

type alias 객체를 만들어서 사용한다.

type PersonProps = {
  name: string;
};

const Hello: PersonProps = ({ name }) => (
  <div>Hello, {name}</div>
);

interface

interface SquareConfig {
    color?: string;
    width?: number;
}

interface는 클래스나 객체를 위한 타입을 지정할 수 있게 한다.

인터페이스와 type alias는 거의 비슷하다. interface는 extends와 implements를 사용할 수 있고 선언 병합을 사용할 수 있다. 타입스크립트 팀에서는 인터페이스를 쓰는 것을 권장한다고 한다.

? 는 있을 수 도 있고 없을 수 도 있는 값을 표현할 때 사용한다.

Generics 사용하기

<> 꺽쇄 모양으로 표시한다. 이러한 형태가 들어간다는 것을 나타내는 문법이다.

useState에서 Item 객체가 들어가거나 null이 들어갈 수 도 있다는 것을 나타낼 때 사용하면 좋다.

type Item = { name: string; description: string };

const [item, setItem] = useState<Item | null>(null);

onChange 등 react 함수에 들어가는 타입 알아내기

스크린샷 2022-11-26 오후 3

타입을 알고 싶은 함수 (onChange) 위에 마우스를 올려보면 사용하는 타입을 알 수 있다. 사용하는 타입을 알아내서 복사해서 사용하면 된다.

함수의 리턴 값의 타입을 표시해주기

interface IPerson = {
  name: string;
  age: number;
}
function myFunction(name: string, age: number): IPerson {
}

함수의 옆에 : 를 하고 반환 값의 타입을 지정해 줄 수 있다. 아무것도 반환하지 않을 때는 void를 적어준다.


공유하기
카카오로 공유하기
페이스북 공유하기
트위터로 공유하기
url 복사하기