티스토리 뷰

잘 쓰던 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
링크
«   2024/07   »
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
글 보관함