8-event-handling

8. Event Handling

[React] VIII. Event handling

Event 란?

사건. 클릭, 마우스 올리기, 스크롤 등등..

DOM의 event

<button onclick = "activate()"></button>

React의 event

<button onClick = {activate}></button>
  • React 에서는 onclick을 camel case 로 쓰고, 함수도 중괄호안에 이름만 적는다.

camel case? CapitalizingAllTheFirstLetterOfEachWordAndConcatenating.

Class component에서 event handler

JS class 내부의 함수는 그 instance 와 bind 되지 않고 global하게 실행되기 때문에, binding 을 해줘야 그 instance 의 state를 함수에서 사용할 수 있다.

class Toggle extends React.component {
	constructor(props) {
    	super(props);
      	this.state = {isToggleOn: true};
      	this.handleClick = this.handleClick.bind(this);
    }
  
  	handleClick() {
    	this.setState(prevState=>({
        	isToggleOn : !prevstate.isToggleOn
        }));
    }
  
  	render() {
    	return  (
        	<button onClick={this.handleClick}>
            	{this.state.isToggleOn?'켜짐':'꺼짐'}
          	</button>
        );
    }
}

Function component 에서 event handler

event handler 에게 args 전달하기

class component

function component

Last updated