///요고는 안됩니다
<div>
<h2>안녕하세요</h2>
</div>
<div>
<h2>Hello,</h2>
</div>
// 요고는 안됩니다
import React, { Component } from 'react';
export default class Counter extends Component {
state = { // state는 constructor 함수 안에서도 선언 가능
count : 0
}
constructor(props) {
super(props);
this.handleIncreaseBtn = this.handleIncreaseBtn.bind(this);
}
handleIncreaseBtn() { // 일반 함수를 사용할때는 bind가 필수
this.setState({
count: this.state.count + 1
});
}
handleDecreaseBtn = () => { // 화살표 함수에서는 생략 가능
this.setState({
count: this.state.count - 1
});
};
render() {
return (
<div>
<div>{this.state.count}</div>
<input
type='button'
value='increase'
id='increaseBtn'
onClick={this.handleIncreaseBtn}
/>
<input
type='button'
value='decrease'
id='decreaseBtn'
onClick={this.handleDecreaseBtn}
/>
</div>
);
}
}
this.handleIncreaseBtn = this.handleIncreaseBtn.bind(this)
컴포넌트가 브라우저 상에서
import React, { Component } from 'react'
export default class LifeCycle extends Component {
constructor(props) {
super(props)
console.log('1111111111 constructor')
}
componentDidMount = () => {
console.log('3333333333 componentDidMount')
}
render() {
console.log('2222222222 render')
const check = console.log('it will be rendered between 2 and 3')
return (
<div>
라이프 사이클 확인 중입니다.
{check}
</div>
)
}
}