1. Hooks란?
React의 v16.8.0 [현재 v18.0.0] 등장 이후 사용할 수 있게 된 함수형 컴포넌트가 클래스형 컴포넌트의 state(상태), Lifecycle(수명 주기) 등의 기능들을 사용할 수 있도록 돕는 React의 내장 기능들을 말한다.
2. Hooks를 사용할 수 없는 상황
1) 클래스형 컴포넌트 내에서는 사용할 수 없다.
2) 내부 이벤트 핸들러
3) useMemo, useReducer 등의 같은 Hook 안에서 사용할 수 없다.
4) 일반적인 Javascript 함수 내부
최상위 레벨에서 호출해야 하며, 조건문, 루프, 함수에 있을 수 없다.
하단은 React에서 Hooks를 사용할 때의 공식 규칙이다.
3. Hooks 의 종류
1) useState (상태 관리)
2) useEffect (클래스형 컴포넌트의 componentDidMount, componentDidUpdate, componentWillUnmount 등의 수명 주기 메서드를 대체함, 상태 또는 변수 변경, 데이터 가져오기 등)
3) useContext (props를 쉽게 전달하기 위해 사용)
4) useRef (자주 변경되는 값을 저장하고 업데이트 하는데 유용한 Hook)
5) useReducer (상태 관리, useState와 다르게 컴포넌트의 상태 업데이트 로직을 분리시킬 수 있음)
6) useCallback (useMemo와 비슷, 특정 함수를 새로 만들지 않고 재사용하고 싶을 경우 사용)
7) useMemo (이전에 계산한 값을 재사용할 때)
8) useImperativeHandle
9) useLayoutEffect
10) useDebugValue
11) 사용자 정의 Hook
11-1) useSWR (데이터를 가져올 때 사용, 데이터가 항상 최신 상태로 동기화 되도록 할 때)
11-2) useScrollPosition (입체적인 스크롤 효과를 표현하기 위해 사용)
'Programming > React' 카테고리의 다른 글
[React] React Hooks : 3. useEffect (0) | 2022.08.01 |
---|---|
[React] React Hooks : 2. useState (0) | 2022.08.01 |
[React] string props 전달시 줄 바꿈 처리 (0) | 2022.07.18 |
[React/AOS] React에서 AOS(Animate On Scroll) 라이브러리 사용하기 (0) | 2022.07.12 |
[React] ReactDOM.render is no longer supported in React 18. Use createRoot instead. Until you switch to the new API 오류 (0) | 2022.06.28 |