Post

리액트 훅이란???

리액트 훅(Hook)이란 무엇인가??

리액트 훅(React Hooks)은 리액트 버전 16.8에 처음 도입된 기능으로, 클래스 컴포넌트 없이도 상태 관리 및 리액트 기능을 사용할 수 있게 해주는 함수입니다. 이전에는 리액트에서 상태 관리나 생명주기 기능을 사용하기 위해서는 클래스 컴포넌트를 사용해야 했지만, 훅을 사용하면 함수 컴포넌트 내에서도 이러한 기능을 쉽게 사용할 수 있습니다

1. useState

1
const [state, setState] = useState(initialState);

여기서 ‘state는 상태 값이고, ‘setState’는 그 상태를 업데이트하는 함수입니다.

2. useEffect

함수 컴포넌트에서 부수 효과(side effects)를 수행할 수 있습니다. 클래스 컴포넌트의 componentDidMount, componentDidUpdate, componentWillUnmount에 해당하는 작업을 처리할 수 있습니다.

1
2
3
4
5
6
7
useEffect(() => {
  // 코드 실행
  return () => {
    // 클린업 코드
  };
}, [dependencies]);

여기서 dependencies 배열이 변경될 때마다 효과가 재실행됩니다

3. useContext : 컨텍스트 데이터를 함수 컴포넌트에서 사용할 수 있습니다.

1
const value = useContext(MyContext);

4.useReducer

useState보다 더 복잡한 상태 로직을 관리할 수 있으며, 리듀서를 통해 상태를 업데이트합니다

1
2
const [state, dispatch] = useReducer(reducer, initialState);

5. useCallback

특정 함수를 메모이제이션(memoization)할 때 사용합니다. 이는 함수가 불필요하게 재생성되는 것을 방지하여 성능을 최적화합니다.

1
2
3
const memoizedCallback = useCallback(() => {
  doSomething(a, b);
}, [a, b]);

6. useMemo

복잡한 연산 결과값을 메모이제이션하여 성능을 최적화 합니다.

1
const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);

7. useRef

함수 컴포넌트에서 ref를 사용할 수 있습니다. 이는 DOM에 직접 접근할 때 유용합니다.

1
const myRef = useRef(initialValue);

다음시간에 계속…

image

This post is licensed under CC BY 4.0 by the author.