1) React Hook
리액트 hook함수들에 대해 알아볼 페이지

Intro
리액트는 원래 클래스 기반 컴포넌트에서 생명주기 함수를 사용했습니다. 하지만 클래스 컴포넌트는 문법이 복잡하고, 로직 재사용이 어려웠으며 상태관리도 힘들고, 매번 불필요하지만 필요한 보일러플레이트 코드를 반드시 선언해야 했습니다.
이런 문제점을 해결하기 위해 Hook함수가 등장했습니다. Hook은 함수형 컴포넌트에서도 상태 관리(useState)와 생명주기 제어를 가능하게 해주어, 컴포넌트의 단숨함을 강조할 수 있게 되면서 라이프사이클 함수의 재사용성을 증대 시켰습니다.
1. useEffect
컴포넌트가 렌더링되거나 값이 변경될 때 특정 작업을 수행할 수 있게 해주는 Hook입니다.
컴포넌트가 처음 렌더링될 때(mount)
의존성 배열 안의 값이 변경 될 때(update)
컴포넌트가 소멸 될 때(unmount)
2. useMemo
useMemo는 리렌더링 시 계산 비용이 큰 작업을 메모이제이션(캐싱) 하여 렌더링 성능을 최적화 하고자 사용합니다.
계산 비용이 큰 작업 -> 정렬, 필터링, 복잡한 연산 등
3. useCallback
useMemo와 마찬가지로 메모이제이션을 통해 렌더링 성능을 최적화 하는데 사용하는 함수로, 함수를 메모이제이션해서, 불필요한 함수 재생성을 방지한다.
함수를 자식 컴포넌트에서 props를 통해 사용하는 경우 함수 재생성시 자식컴포넌트에서 리렌더링이 발생할 수 있다.
useMemo는값 캐싱, useCallback은 함수 캐싱
4. 사용자 정의 Hook함수
리액트에서 제공하는 기본 Hook만으로는 복잡한 로직을 여러 컴포넌트에서 재사용하기는 어렵습니다.
자주 사용하는 공통로직을 Hook함수와 묶어 함수로 모듈화 하여 재사용성을 높일 수 있습니다.
Hook함수의이름은 반드시 use로 시작해야합니다.
사용자정의 훅 함수 예시
Last updated