질문 74 · 실전 면접 답변
Hook은 무엇이며 어떤 호출 규칙이 있나요?
이렇게 답해 보세요 (핵심 답변)
Hook은 함수 컴포넌트나 custom Hook 안에서 React의 상태 관리, 컨텍스트 구독, 외부 동기화 기능을 연결해 주는 API입니다. useState나 useEffect 같은 일반적인 Hook은 반드시 React 함수의 최상위에서만 호출해야 하며 조건문, 반복문, 일반 이벤트 핸들러 내부에서는 호출할 수 없습니다. React가 컴포넌트 내부의 Hook 호출 순서에 의존해 이전 렌더의 상태와 다음 렌더의 상태를 짝지어 관리하기 때문입니다.
함께 설명하면 좋은 이유 (꼬리질문 대비)
- 매 렌더마다 Hook 호출 순서가 일관되게 유지되어야 React가 각 상태 슬롯을 정확히 찾아 연결할 수 있습니다.
- custom Hook은 여러 기본 Hook을 조합한 로직 템플릿일 뿐이며 호출하는 컴포넌트마다 독립적인 상태 공간이 생성됩니다.
면접에서 자주 하는 실수
React의 최신 use API처럼 조건부 호출이 허용되는 예외적인 API도 있으므로 모든 use 계열 함수의 문법 제약이 완전히 똑같다고 일반화하지는 않습니다.
원리와 예제까지 읽기
공식 참고 자료
질문 목록 출처 ↗ · 원본 74번을 바탕으로 질문과 답변을 새로 정리했습니다.