티스토리 뷰

잘 쓰던 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/02   »
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
글 보관함