가수면

타입스크립트 선언 파일 본문

JavaScript/TypeScript

타입스크립트 선언 파일

니비앙 2023. 6. 14. 17:32

'개체 리터럴은 알려진 속성만 지정할 수 있으며 '{ name?: string | null | undefined; email?: string | null | undefined; image?: string | null | undefined; }' 형식에 'username'이(가) 없습니다.'

기존 라이브러리 없는 속성을 지정할 경우 이러한 타입 오류가 발생한다.

 

이 경우 라이브러리에서 선언된 타입에 속성을 추가해주면 된다.

라이브러리에 선언 된 타입 확인하기

DefaultSession에 usename이라는 타입을 추가해주면 된다.

추가하기

// src\types\next-auth.d.ts

import NextAuth, { DefaultSession } from 'next-auth';

declare module 'next-auth' {
  interface Session {
    user: {
      username: string;
    } & DefaultSession['user'];
  }
}

전역 선언

// 전역 변수
declare const pi = 3.14;

// 전역 함수
declare namespace myLib {
  function greet(person: string): string;
  let name: string;
}
myLib.greet('캡틴');
myLib.name = '타노스';

'JavaScript > TypeScript' 카테고리의 다른 글

타입스크립트 마이그레이션  (0) 2023.06.21
event 타입  (0) 2023.05.08
ref를 props로 넘겨줄 때  (0) 2023.04.20
타입 심화  (0) 2023.04.12
넘어오는 데이터가 두 타입 중 하나일 때  (0) 2023.04.05
Comments