=> 해결하기: 하위 컴포넌트(Button)의 이벤트 핸들러 함수 안에 e.stopPropagation()
라인 추가
e.stopPropagation()
라인을 추가해두면 위와 같은 Header/Button 상황을 미리 막을 수 있음function Button({ onClick, children }) {
return (
<button onClick={(e) => {
e.stopPropagation();
onClick();
}}>
{children}
</button>
);
}
e.preventDefault()
= 브라우저의 기본 동작 방지
e.preventDefault()
를 넣는 것은 사용 예시 중 하나일 뿐