그알것 — 그럼에도 알아야 할 것들
홈질문커뮤니티
로그인
그알것 — 그럼에도 알아야 할 것들

Service

  • 홈
  • 소개
  • 질문
  • 커뮤니티

My

  • 내 워크스페이스
  • 저장한 질문
  • 작성한 답변

Policy

  • 이용약관
  • 개인정보처리방침
  • 문의

© 2026 그알것 · What Still Matters

질문 목록React
React

왜 useState를 조건문 안에서 호출하면 안 되나요?

실무4/5
설계3/5
인간4/5
기초3/5

면접관의 질문 의도

"규칙이라서 안 된다" 수준의 암기 답인지, 렌더마다 훅 호출이 슬롯에 매핑된다는 *내부 모델*까지 가져오는지를 가른다. 모델을 들고 와야 자연스럽게 "분기는 어디서 처리해야 하는지"까지 답할 수 있다.

큐레이션 답변

학습 자료

React 훅은 컴포넌트가 렌더될 때마다 호출 순서를 인덱스로 써서 내부 상태 슬롯에 매핑한다. 즉 "이번 렌더의 첫 번째 useState" = "내부 슬롯 0"이라는 식이다. 조건문이나 반복문 안에서 useState를 호출하면 렌더마다 호출 순서가 달라지면서 슬롯이 어긋나고, 한 컴포넌트가 다른 상태를 받아 쓰는 사고가 난다. 그래서 훅은 컴포넌트 최상위에서 항상 같은 순서로 호출해야 하고, 분기가 필요하면 훅 호출 이후에 값 기준으로 렌더 분기로 처리한다. ESLint 규칙(react-hooks/rules-of-hooks)은 이 계약을 미리 잡아주는 안전망이다.

좋은 답변 구조

  1. 01훅 호출 순서가 내부 상태 슬롯과 인덱스로 매핑된다는 핵심 모델을 먼저 설명한다
  2. 02조건문 안에서 호출하면 렌더마다 슬롯이 어긋나며 상태가 섞이는 흐름을 짧은 예시로 보인다
  3. 03그래서 훅은 최상위에서 같은 순서로 호출하고, 분기는 훅 이후 값으로 처리한다는 원칙을 정리한다
  4. 04분기가 꼭 필요한 경우 컴포넌트 분리나 커스텀 훅으로 우회하는 패턴을 짧게 덧붙인다

자주 실수하는 포인트

"조건이 false면 그 훅은 안 불릴 뿐"이라고 보고, 다음 렌더에서 슬롯이 어떻게 어긋나는지를 설명하지 못한다
ESLint `rules-of-hooks` 경고를 "스타일 권고" 정도로 인식하고 끄거나 무시한다
훅 규칙 위반으로 생긴 상태 섞임 버그를 "값을 잘못 넣어서 그렇다"고 진단해 반복적으로 같은 종류의 버그를 만든다
조기 return 이후에 훅을 호출하는 패턴이 왜 같은 종류의 위반인지를 인식하지 못한다

실무 맥락

  • 권한·로딩·에러 등 조건이 많아 컴포넌트 본문이 분기 덩어리가 되는 화면
  • 커스텀 훅 안에서 상황별로 다른 훅 조합을 끼우려는 추상화 시점
  • AI 보조 도구가 생성한 컴포넌트를 코드 리뷰에서 검수해야 하는 환경
  • 리액트 18 동시 렌더링·서스펜스를 도입하며 렌더 안정성을 다시 점검하는 단계

본인 경험에 녹이는 힌트

훅을 조건문 안에 두었다가 상태가 섞이는 버그를 직접 겪고 고친 경험이 있다면, 그 디버깅 과정을 답변의 "순서 모델" 설명으로 가져올 수 있다

ESLint `react-hooks/rules-of-hooks`를 팀에서 강제로 켜고 코드 리뷰 룰로 정착시킨 경험이 있다면 규칙의 운영적 필요성을 본인 사례로 풀 수 있다

조기 return·조건 분기 안의 훅을 컴포넌트 분리·커스텀 훅으로 풀어낸 경험이 있다면 "우회 패턴" 부분을 본인 코드로 말할 수 있다

AI가 생성한 컴포넌트에서 훅 규칙 위반을 코드 리뷰로 잡아본 경험이 있다면 AI 산출물 검수 관점을 답변에 자연스럽게 엮을 수 있다

커뮤니티 인기 답변

전체 0개

아직 공개된 답변이 없어요. 첫 공개 답변을 남겨보세요.

관련 꼬리 질문

Q1useEffect나 useMemo도 같은 호출 순서 규칙을 따르나요
Q2조건 분기가 꼭 필요할 때 어떤 패턴으로 우회하나요
Q3React는 내부적으로 훅을 어떻게 식별하나요 — 이름인가요 순서인가요
Q4조기 return 이후에 훅을 호출하는 것도 같은 위반인가요, 다르다면 왜 그런가요
아직 답을 쓰지 않았어요.
큐레이션 답변과 다른 사람 답변을 보고, 자기 언어로 답을 정리해보면 학습 효과가 가장 큽니다.
목차
  • 01면접관의 질문 의도
  • 02큐레이션 답변
  • 03좋은 답변 구조
  • 04자주 실수하는 포인트
  • 05실무 맥락
  • 06본인 경험에 녹이는 힌트
  • 07커뮤니티 인기 답변준비중
  • 08관련 꼬리 질문