타입스크립트로 개발하던 중 마주한 오류...
이전에 다른 프로젝트를 개발할 때, currentTarget을 대신 사용했던 기억이 있어 currentTarget을 사용해 보았는데..
currentTarget이 null로 나왔다. 같은 부모 아래에서 다른 span 태그로 테스트했을 때는 알던 대로 currentTarget과 target이 동일하게 나온 것을 보니 정확한 이유는 모르겠지만 fetch의 then 안에서 사용해서 그런 것 같다. (scope의 문제 같은...) 정확한 이유와 여기서 currentTarget을 사용하는 방법을 아신다면 댓글로 알려주시면 감사하겠습니다..!!
currentTarget을 사용할 수 없어 다른 방법으로 해결해 보기로 했다.
currentTarget과 target의 차이가 무엇인가 하고 타입을 확인했더니 target은 EventTarget인데 currentTarget은 EventTarget & HTMLSpanElement이었다! target을 분리하여 타입 단언을 해주었다. 굳이 분리하지 않고 그냥 단언해도 된다!
const target = e.target as HTMLSpanElement;
if (target.parentElement) {
target.parentElement.style.opacity = '0'
}
오류가 뜨지 않고 잘 동작한다.
'Study > TIL · 오류해결' 카테고리의 다른 글
vite.config.js에서 환경 변수 사용하기 (0) | 2024.09.05 |
---|---|
[Next.js] 서버 컴포넌트 try-catch에서 redirect가 안 된다 (0) | 2024.08.16 |
[TypeScript/Jest] jest.setup.js를 설정했는데도 jest-dom 타입 오류가 뜨는 문제 (0) | 2024.08.14 |
[Firebase/오류해결] Firebase Hosting with Github Actions (env 오류) (1) | 2024.05.23 |
VSCode Prettier 특정 파일 적용 오류 (0) | 2022.10.28 |