안녕하세요. 제가 아는 선에서 최대한 설명드릴게요! 우선 해당 에러가 나는 이유는 컴퓨터의 입장에서 "action" field는 있을수도 있고, 없을수도 있어서 타입스크립트에서 에러를 뱉어주는거에요. 보시면 CancelActionPayload 타입이 3가지의 형태가 될 수 있는데 마지막 형태에서 action이 존재하지 않죠? 그러면 타입스크립트의 입장에서는 이렇게 생각할거에요. "CancelActionPayload 타입은 첫 번째 형태, 두 번째 형태, 세 번째 형태가 있는데 어느 형태가 될 지 나는 잘 모르겠어." 가 돼요. 사실 어떻게 보면 타입스크립트가 정말 고마운 역할을 해주고 있는거죠. 코딩을 하는 입장에서는 이 상황에 들어오는 "CancelActionPayload"은 action이 무조건 있어! 라고 상상할 수 있지만, 컴퓨터의 입장에서는 action이 없을 수도 있는 가능성이 있기 때문에 컴파일 단계에서 에러를 띄워주는거에요. 이런 상황에서 해결법은 CancelActionPayload 타입을 조금 더 쪼개서 확실하게 타입을 지정해는 방식이 있을 것 같아요. 혹은 타입 가드를 이용해서 해당 코드라인에서 CancelActionPayload의 타입을 확실하게 타입스크립트에게 알려주는 방식도 있을 수 있구요. 구글에 위의 키워드들로 검색을 해보시면 조금 더 자세한 내용들 볼 수 있을거에요! 감사합니다~

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 1월 26일 오후 2:39

조회 1,327

댓글 0