84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
TS는 보간된 prop 값의 종류를 다음과 같이 생각하는 것 같습니다.
문자열이 아닌가요(구별 가능한 공용체에 사용되는 경우)?
아래의 세 번째 p3 实例会丢失 ev 필드에 추론을 입력하세요. 단, href가 보간된 비문 문자열인 경우에만 해당됩니다.
p3
ev
TS 샌드박스 완전 재현
업데이트 TS5.2+
이 버그는 microsoft/TypeScript#53907에서 수정되었으므로 TypeScript 5.2부터 문제의 코드는 아무런 변경 없이 예상대로 작동합니다.
TS 5.2.0-dev.20230516
TS5.1에 대한 원래 답변-
알고 보니예, 이것은 제가 Stack Overflow 질문에 대한 응답으로 제출한 microsoft/TypeScript#53888과 같은 TypeScript의 버그입니다. 컴파일러는 차별 속성 href가 유형 string이고 정의되지 않음이 아니라는 것을 인식하는 것 같지만 이는 너무 늦게 발생합니다. 컨텍스트에 따라 href是 string 类型,而不是 undefined,但这发生得太晚了 根据上下文输入 onClick onClick 콜백 매개변수를 입력합니다. 아마도 템플릿 텍스트 보간은 문제를 일으키는 것을 지연시키는 데 충분할 것입니다.
href
string
정의되지 않음
undefined
onClick
GitHub 문제는 백로그에 있습니다. 이는 TS 팀이 이 문제를 곧 고칠 계획이 없다는 뜻입니다... 따라서 도움이 필요합니다 a>로 표시되어 커뮤니티 구성원의 끌어오기 요청을 수락한다는 뜻입니다. 따라서 이 문제를 가능한 한 빨리 해결하려는 사람은 누구나 직접 수정 사항을 제공하는 것을 고려해야 합니다.
그 동안 제가 제안하는 해결 방법은 문자열 보간을 미리 수행하고 해당 유형을 미리 알 수 있도록 const에 저장하는 것입니다.
const
성가신 일이지만(JSX의 경우 훨씬 더 성가신 일이겠지만) 적어도 작동합니다!
업데이트 TS5.2+
이 버그는 microsoft/TypeScript#53907에서 수정되었으므로 TypeScript 5.2부터 문제의 코드는 아무런 변경 없이 예상대로 작동합니다.
TS 5.2.0-dev.20230516
의 플레이그라운드 링크를 사용하세요.TS5.1에 대한 원래 답변-
알고 보니예, 이것은 제가 Stack Overflow 질문에 대한 응답으로 제출한 microsoft/TypeScript#53888과 같은 TypeScript의 버그입니다. 컴파일러는 차별 속성
href
가 유형string
이고정의되지 않음
이 아니라는 것을 인식하는 것 같지만 이는 너무 늦게 발생합니다. 컨텍스트에 따라href
是string
类型,而不是undefined
,但这发生得太晚了 根据上下文输入onClick
onClick
콜백 매개변수를 입력합니다. 아마도 템플릿 텍스트 보간은 문제를 일으키는 것을 지연시키는 데 충분할 것입니다.GitHub 문제는 백로그에 있습니다. 이는 TS 팀이 이 문제를 곧 고칠 계획이 없다는 뜻입니다... 따라서 도움이 필요합니다 a>로 표시되어 커뮤니티 구성원의 끌어오기 요청을 수락한다는 뜻입니다. 따라서 이 문제를 가능한 한 빨리 해결하려는 사람은 누구나 직접 수정 사항을 제공하는 것을 고려해야 합니다.
그 동안 제가 제안하는 해결 방법은 문자열 보간을 미리 수행하고 해당 유형을 미리 알 수 있도록
으아아아const
에 저장하는 것입니다.성가신 일이지만(JSX의 경우 훨씬 더 성가신 일이겠지만) 적어도 작동합니다!