본문 바로가기
Frontend/React

React typescript 에서 dataset 이용하기 😢

by 우보틀 2022. 4. 1.

필요한 데이터를 html의 data 속성을 이용하여 주로 담아놓곤 하였습니다.

이를 React with typescript에서 적용할 때 막혔던 부분에 대한 내용입니다.

 

위와 같이 사용하려 시도했었습니다.

하지만 계속 에러를 뱉어냈고 이를 이해하지 못했었습니다.

 

이유는 다음과 같습니다. 

event의 target이 document, element, window등의 요소가 될 수 있기 때문입니다. 

그래서 아래와 같이 event의 target이 내가 정한 요소의 instance가 아니라면 early return을 하여 런타임에서 에러가 없을 수 있게 하였습니다.

 

 

위의 이미지속의 코드에서 e.target의 instance를 검사하여 div 요소가 아니면 함수를 탈출하게 하였습니다.

위와 같이 작성후 코드레벨상에서의 에러 && 런타임에서의 에러 없이 동작할 수 있도록 하였습니다.

 

 

 

 

 

 

출처 : https://stackoverflow.com/questions/49631688/property-dataset-does-not-exist-on-type-eventtarget

 

Property 'dataset' does not exist on type 'EventTarget'

When trying to access the dataset on a button after a click, I get this^ error. linkProvider = (ev: React.SyntheticEvent<EventTarget>) => { console.debug('ev.target', ev.target.dataset[...

stackoverflow.com

 

'Frontend > React' 카테고리의 다른 글

React props, state 🏔  (0) 2022.04.02
React useReducer 🌱  (0) 2022.04.02
React setState 🌱  (0) 2022.03.27
React.memo 🌱  (0) 2022.03.27
React useCallback, useMemo  (0) 2022.03.27