[TypeScript] Type '타입명' is not assignable to type 'string'

초이·2024년 6월 27일

props 넘겨줄 때 오류

  • MemoList 컴포넌트
  • MemoItem 컴포넌트

이렇게 두 컴포넌트가 있는데, list에서 map으로 item값을 props로 넘겨 주려 할 때 생긴 오류이다.

이렇게 memo 객체를 넘겨주려고 했다.

당연히 이제 MemoItem에 props 작업을 안해놔서 type 선언을 하러 갔다.

짜잔

이렇게 Props 자리에 memo 구조분해 하고 type으로 내가 명시해놓은
객체 타입 지정해 둔걸 넣으니까 생기는 오류..

Type 'MemosType' is not assignable to type 'string'

  • MemoType은 types 폴더에 따로 저장하였는데
export type MemosType = {
  id: string;
  memo: string;
  date: string;
}

으로 타입선언을 다 해놓았다.

분명.. 객체로 넘어왔고.. 그 객체 안에 값을 타입으로 다 선언해 둔 값을 넣어줬는데
string이 어쩌구하면서 오류가 났다.

그러다가 튜터님이 강의해주실 때 짠 코드를 보면서 깨달았다.

props는 따로 type을 가져와서 propstype으로 선언 해주는 것을......

이렇게 바꾸니까 잘 작동했다....

하지만 사실 아직도 왜 전에거가 안먹히는지 제대로 이해하지 못했다.

props.. 다루기 어렵다..

profile
개발 일기장

0개의 댓글