티스토리 뷰

잘 쓰던 closest를 쓰려고 했는데 안써졌다...

  const handleDockMenu = (e: React.MouseEvent) => {
    const target = e.target;
    const newDockState = [...dockState].map((state) =>
    // closest에 빨간줄
    target.closest(`#${state.id}`)
        ? { id: state.id, selected: true }
        : { id: state.id, selected: false }
    );
    setDockState(newDockState);
  };

 

Property 'closest' does not exist on type 'EventTarget'.


이유

이벤트타겟에 없다고 하니 e.target에 Element로 타입을 정해주면 된다!

  const handleDockMenu = (e: React.MouseEvent) => {
    const target = e.target as Element;
    const newDockState = [...dockState].map((state) =>
    target.closest(`#${state.id}`)
        ? { id: state.id, selected: true }
        : { id: state.id, selected: false }
    );
    setDockState(newDockState);
  };

 

참고

728x90
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함