채널톡 아이콘

인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

Next + React Query로 SNS 서비스 만들기

이벤트 캡처링과 /status/[id] 페이지

onClickCapture 부분 질문이 있습니다.

작성

·

79

0

 

export default function PostArticle({ children, post }: Props) {
  const router = useRouter();
  const onClick = () => {
    console.log(1);
    router.push(`/${post.User.id}/status/${post.postId}}`);
  };
  return (
    <article className={style.post} onClickCapture={onClick}>
      {children}
    </article>
  );
}

이 부분에서 onClickCapture에 대한 질문이 있습니다.

캡쳐링 단계에서 onClickCapture의 클릭함수가 실행된다면

자식인 <Link> 영역을 눌러도 <article>의 onClickCapture가 캡쳐링 단계에서 먼저 동작하여 <Link> 태그의 href 경로가 아닌 router.push()로 동작 해야한다고 생각하였습니다.

그러나 실제 <Link>태그를 클릭하면 콘솔에 1이 찍히지만 router.push() 경로가 아닌 <Link>태그의 href경로로 이동하더군요. 이 부분이 잘 이해가 안됩니다..

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

article의 router.push도 실행됐겠지만 이어서 캡처링에 의해 Link의 href로 이동하는 기능도 같이 실행된 것으로 보입니다. 히스토리가 두 번 쌓였는지 확인해보세요.