import {Input} from 'antd'

export default function App(){
	const inputRef = useRef<Input>(null);
    return (
    	<Input ref={inputRef}/>
        )
    }

라고 쓰면 다양한 오류가 발생한다.

 

import {Input} from 'antd'
import type {InputRef} from 'antd'
export default function App(){
	const inputRef = useRef<InputRef>(null);
    return (
    	<Input ref={inputRef}/>
        )
    }

라 쓰면 된다.

 

출처 : https://stackoverflow.com/questions/72577119/type-a-is-not-assignable-to-type-b-in-typescript-with-antdesign

 

Type A is not assignable to type B in typescript with antdesign

Hi guys I was writing this code in typescript with using ant design and I got this issue (TS2322). I wanted to use 'Input' from 'Ant Design' and set the first value as null. After that I was gonna ...

stackoverflow.com

 

 

이 분도 같은 강의 들으면서 deprecated나,  unused된 사용법 때문에 질문 하신것 같다.(코드가 똑같다.)

 

그 강의가 리액트 강의를 한번에 들을 수 있어서 장점이지만, 보다보면 최신 버전에서 바뀐게 많고, 버전 병기가 안되어 있어서, deprecated나 unused된 부분을 고치면서 듣는게 힘들다.

 

뭐 이런 부분에 대해 찾아가면서 공부하는 것도 공부의 일환이지만,

 

초보입장에서 따라치면서 배우는데, 빨간줄이 보이고 취소선이 보이면 당황스럽다.

 

직접적으로 질문을 할수도 없고, 강의에 대해서 최신버전 업데이트가 안 보여서 최신버전을 원하는 사람에게는 비추하고 싶은 강의가 되었다.

1. Number Type

  • 숫자
  • All numbers, no differentiation between integers or floats

2. String Type

  • 백틱, 작은따옴표, 큰 따옴표
  • All text values

3. boolean Type

  • true of false
  • Just these two, no “truthy” or “falsy”

4. Object

  • 객체 타입 (컴파일 단계에서 명시적으로 선언을 해주거나, 기본적으로 할당되었을때 타입스크립트가 인식한다)
  • 중첩 객체 또한, 객체 안에 객체에 대한 타입을 명시해주면 가능하다.
  • Any Javascript object, more specific types are possible

5. Array

  • [1,2, 3]
  • Any javascript array type can be flexible or strict
  • 가변적인 길이를 가질 수 있으면 유연한 특성을 가지고 있다.

6. tuple

  • [1, 2]
  • Added by Typesciprt : Fixed-length array
  • 타입스크립트에서 추가된 타입으로, 길이와 타입이 고정된 배열이다.
const person : {
name : string;
age : number;
hobbies : string[];
role : [number, string];
} = {
name : 'mmm',
age : 30,
hobbies : ['Sports', 'Cooking'],
role : [2, 'author']
// role : string|number[]
// union type으로 추론을 한다.
}
  • 하지만 튜플로서 값을 잘못된거 넣거나, 재할당은 막아주지만, 배열의 메소드인 push pop은 막지 못한다.

7. Enum

  • enum {NEW, OLD}
  • Added Typescirpt : Automatically enumerated global constant identifiers
  • 매직 넘버로 숫자로 할 시, 이게 무엇인지 알기 어려워진다. 그러므로, 이걸 관리하기 위한 방법으로 Enum을 사용한다.
// 사용자가 만든 타입이므로 대문자로 시작
enum Role {
 ADMIN,READ_ONLY,AUTHOR
};
// 위와 같이 할시 앞에서부터 0
// 기본값은 0 으로 시작
// 초기값을 다른 숫자로 할시 그 숫자를 기준으로 값이 증가
// 별도로 추가적인 값을 할당할수도 있다.

8. Any

  • *
  • Any kind of value ,no specific type assignment
  • 와일드카드 같은..
  • any는 쓰지말자

'프로그래밍언어 > Typescript' 카테고리의 다른 글

[TS] Advanced Type  (0) 2022.07.13
타입스크립트 타입 vs 자바스크립트 타입  (0) 2022.07.04
TS 공부  (0) 2022.05.12

+ Recent posts