Hook은 React 버전 16.8부터 React요소로 새로 추가되었습니다. Hook을 이용하여 기존 Class 바탕의 코드를 작성할 필요 없이 상태 값과 여러 React의 가능을 사용할 수 있습니다. - React 공식문서
리액트의 컴포넌트는 클래스형과 함수형으로 나눠진다. hook이 나오기 전 까지는 상태값(state)에 접근, 생명주기 기능(lifecycle features)을 사용하기 위해 class형 컴포넌트 선언을 해줘야 했다. 함수형 컴포넌트는 한번 호출되고 메모리상에서 사라져 상태값 접근과 라이프사이클 구현이 불가능했다. 그러나 class형 컴포넌트를 사용하다보니 아래와 같은 문제점들이 발생했다
이러하듯 class컴포넌트가 지닌 단점에도 불구하고 상태값 접근과 생명주기 관리 때문에 class형 컴포넌트를 사용해야됐다
import React, { Component } from 'react';
class Example extends Component {
state = {
count: 0,
};
setCount(num) {
this.setState({
count: num,
});
}
render() {
const { count } = this.state;
return (
<div>
<div>
<p>You clicked {count} times</p>
<button
onClick={() => {
this.setCount(count + 1);
}}
>
Click Me!
</button>
</div>
</div>
);
)
}
export default Example;
import React, { useState } from 'react';
function Example() {
const [count, setCount] = useState(0);
return (
<div>
<p>You clicked {count} times</p>
<button onClick={() => setCount(count + 1)}>
Click Me!
</button>
</div>
);
}
export default Example;
import React, { useState } from 'react';
funtion App() {
const [name, setName] = ('');
const [age, setAge] = (35);
const [coffee, setCoffee] = ('Latte');
}
export default App;
구조분해할당 포스팅 보러가기 => 구조분해 할당
참고문서 및 출처:
React 공식문서
https://codingbroker.tistory.com/23
공부해서 지속적으로 업데이트 하겠습니다🙆🏻♀️💖