리액트의 Hook

나는 주로 함수형 컴포넌트를 사용하는데, 함수형 컴포넌트에서는 Life Cycle이 아닌 Hook을 사용한다고 하니 이를 알아보자.

리액트의 Life Cycle과 Hook

Life Cycle : 클래스형 컴포넌트에서 사용
Hook : 함수형 컴포넌트에서 사용

Hook의 사용

  • 리액트 16.8버전부터 사용
  • 클래스 컴포넌트 방식에서 벗어나 함수형 컴포넌트 방식으로 더 직관적으로 작업할 수 있도록 함

1. STATE HOOK - useState()

const [age, setAge] = useState(42);
  • state 훅은 위와 같이 사용된다.
  • age라는 state, 이 age state의 값을 변경하는 setAge, age의 초기값을 설정해주는 useState로 이루어진다.

2. EFFECT HOOK - useEffect()

useEffect(() => {
    document.title = `You clicked ${count} times`;
});
  • effect 훅은 위와 같이 사용된다.
  • 렌더링을 할 때 마다 effect가 실행된다.
  • Life Cycle의 componentDidMount, componentDidUpdate와 비슷하다.
  • 컴포넌트 안에 선언되었기 때문에 props/state에 접근 가능하다.

3. REF HOOK - useRef()

const scrollRef = useRef(null);
  • DOM의 특정 엘리먼트를 선택할때 사용
  • .current 프로퍼티에 전달된 인자로 초기화된, 변경 가능한 ref 객체를 반환
  • 반환된 객체는 컴포넌트의 전 생애주기를 통해 유지

다음 훅들은 내가 사용해보지 않아서 확실히 몰라 공부해보고 작성할 것이다. 4. CONTEXT HOOK - useContext()

5. REDUCER HOOK - useReducer()

6. MEMO HOOK - useMemo()

7. CALLBACK HOOK - useCallback()

댓글남기기