class EventButton extends React.Component {
/* constructor를 생략하면 아래 구문을 적어준다. */
constructor(props) {
super(props);
}
render() {
console.log(this.props);
return (
<button onClick={() => alert('인라인 함수 이벤트 동작 확인')}>{this.props.children}</button>
);
}
ReactDOM.createRoot(document.getElementById('root')).render(
<EventButton>이벤트버튼</EventButton>
);
→ Class형 컴포넌트라 기본 생성자를 만들어야 한다.
onClickHandler = () => alert('외부 함수 이벤트 동작 확인');
render() {
return (
<button onClick={this.onClickHandler}>{this.props.children}</button>
);
}
render() {
console.log(this.props);
const { onClick, children } = this.props;
return <button onClick={onClick}>{children}</button>;
}
/* 컴포넌트 실행 부분*/
<EventButton onClick={() => alert('props로 이벤트 전달 후 연결 확인')}>
이벤트 버튼
</EventButton>
props를 사용하여 전달할 props와 그의 children 요소를 객체 형식으로 넘길 수 있음
[주의 사항]