쉽게 말하면
- function component나 class를 따로 사용할 필요없이
- function component에 class 기능을 구현하여
일관된 React component programming을 가능하게 해주는 기능을 말한다.
기존 Component (function) 에서는 state, ComponentDidMount와 같은 상태관리나 lifecycle method가 동작하지 않으므로, 해당 기능을 사용하기 위해선 반드시 class화 해야했다.
그러나 Hooks가 나온 이후,
- function component 내부에서도 useState나 useEffect와 같은 상태관리 method 사용이 가능하다.
- click event trigger, page leave 등 이벤트 발생 및 page 전환 등과 같은 다양한 시점에서의 lifecycle method 사용이 가능해졌다.
또한 오픈소스기반이다.
npm을 통해 다른 유저가 만든 효율적인 Hook library을 다운받을 수 있기 때문에
확장성이 기존에 비해 용이해졌다.
무엇보다 이 모든 것이 function component에서 동작이 가능하므로,
class 전환을 고민할 필요없이 일관된 component programming이 가능하다.
useState 등 library를 import하고,
최초 변수와 상태관리를 정의한 후 객체화하여 사용한다.
input tag에 입력하는 default값인 value를 상태변수화 하여 관리한다.
아래 사용할 hooks는 useState 이다.
hook 관련 참조자료
https://velog.io/@gyrbs22/React-Component-Patternclass-hook
input tag
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/email
about onChange
https://velopert.com/3634