React 버전 16.8부터 React 요소로 새로 추가된 기능이다.
기존 Class 기반의 코드가 아니어도 상태값 등을 사용해 함수형 방식의 프로그래밍을 할 수 있다.
또한, Hook을 통해 서로 비슷한 것을 하는 작은 함수의 묶음으로 컴포넌트를 나누는 방법을 사용할 수 있게 된다. 또한 이러한 로직의 추적을 쉽게 할 수 있도록 리듀서를 활용해 컴포넌트의 지역 상태 값을 관리하도록 할 수 있다.
(https://ko.reactjs.org/docs/hooks-intro.html 참고)
this
같은 문장 규칙, render
를 사용하는 방법을 생각했어야 했음
이 글에선 Nomad Coder 강의로 배운 종류만 기록한다.
const [ item, setItem ] = useState();
const item = useState(1)[0]
<h1> { item } </h1>
const plusItem = () ⇒ setItem(item + 1);
useEffect(function, [dependency]);
component가 mount 되자마자, 또는 화면이 새로고침되면 실행된다.
두 개의 인자는 function으로써의 effect, dependency를 가진다.
componentWillUnmount
와 같다.만약 dependency에 빈배열( [] )이 들어있다면 component가 mount되었을 때 한 번만 실행되고 더이상 실행되지 않을 것이다.
componentWillUnmount
, componentDidMount
, componentWillUpdate
와 비슷함
dependency에 빈배열이 들어가 있는 상태에서 useEffect안에 function을 넣으면 componentDidMount
, componentDidUpdate
때 호출될 것임
componentDidMount
일 때만 호출됨componentWillUnmount
로부터 function 리턴 받음. 이를 Clean Up Function이라 부른다!
const refContainer = useRef (initialValue);