--- title: 리액트 훅(Hooks) 심층 분석 및 활용 category: Unified tags: [React, Hooks, useEffect, Custom Hooks] created: 2026-04-20 --- # [[React_Hooks_Deep_Dive|React_Hooks_Deep_Dive]] (리액트 훅 심화) ## 📌 한 줄 통찰 (The Karpathy Summary) > 훅은 단순히 함수를 재사용하는 것이 아니라, 컴포넌트의 생애 주기와 논리를 '선언적'으로 결합하는 고도의 동기화 기제다. ## 📖 구조화된 지식 (Synthesized Content) - **useEffect의 올바른 관점**: - "마운트될 때 실행"이라는 라이프사이클 사고방식에서 벗어나라. `useEffect`는 **의존성 배열의 값과 컴포넌트 외부 시스템(API, DOM 등)을 동기화**하는 작업이다. - **Custom Hooks (추상화의 꽃)**: - 복잡한 비즈니스 로직(예: 데이터 페칭, 타이머 관리)을 `useMy[[Logic|Logic]]` 처럼 따로 빼내어 컴포넌트는 오직 UI 선언에만 집중하게 만든다. 이것이 컴포넌트의 가독성을 폭발시키는 비결이다. - **Rules of Hooks**: - 반드시 함수의 최상위에서만 호출되어야 한다. 그래야 리액트가 훅의 상태를 유한 상태 머신처럼 정확한 순서로 관리할 수 있다. ## ⚠️ 모순 및 업데이트 (RL Update) - `useEffect` 내에서 무분별하게 상태를 업데이트하면 무한 루프나 성능 저하가 발생한다. 가능하면 `useMemo`나 `useCallback`으로 계산 결과를 캐싱하거나, 상태 업데이트 로직을 `useReducer`로 위임하라. ## 🔗 지식 연결 (Graph) - Related: [[React_Performance_Optimization|React_Performance_Optimization]] , React_State_Management_Strategy - Context: [[WebWorker_Performance|WebWorker_Performance]]