클래스 컴포넌트를 작성하지 않아도 state와 같은 특징들을 사용할 수 있는 것.
class Example extends React.Component {
constructor(props) {
super(props);
this.state = {
count: 0
};
}
render() {
return (
<div>
<p>You clicked {this.state.count} times</p>
<button onClick={() => this.setState({ count: this.state.count + 1 })}>
Click me
</button>
</div>
);
}
}
Hook은 클래스형 컴포넌트에서 작동하지 않다.
오직 함수형 컴포넌트에서만 사용 가능하다.
import React, { useState } from 'react';
function Example() {
// ...
}
Hook은 특별한 함수다. 예를 들어 useState 함수 컴포넌트에서 state를 사용할 수 있게 해준다.
함수형 컴포넌트를 사용하던 중 state가 필요할 때
클래스 컴포넌트와 함수형 컴포넌트를 비교하여 설명한다.
class Example extends React.Component {
constructor(props) {
super(props);
this.state = {
count: 0
};
}