질문 80 · 실전 면접 답변
React 상태의 위치와 관리 방식을 어떻게 정하나요?
이렇게 답해 보세요 (핵심 답변)
상태는 우선 그 값을 실제로 읽고 바꾸는 컴포넌트 가까이에 두고, 여러 형제 컴포넌트가 함께 써야 할 때 가장 가까운 공통 부모로 끌어올립니다. 단일 값이나 단순 토글은 useState로, 여러 하위 값이 정해진 규칙으로 함께 바뀌는 복잡한 상태는 useReducer로 정리하며, 트리 깊은 곳까지 공통 값을 전달해야 할 때는 컴포넌트 조합이나 Context를 검토합니다. 또한 서버에서 받아오는 원격 데이터는 클라이언트 UI 상태와 분리해 캐시·재검증 전용 도구로 다루는 것이 깔끔합니다.
함께 설명하면 좋은 이유 (꼬리질문 대비)
- 상태의 단일 소유자가 명확할수록 값을 바꾸는 경로가 단순해지고 화면 간 데이터 불일치가 줄어듭니다.
- 기존 props나 다른 state로부터 즉시 계산할 수 있는 파생 값은 별도 state로 중복 저장하지 않고 렌더 중에 계산합니다.
면접에서 자주 하는 실수
유명한 전역 상태 관리 라이브러리를 쓴다는 이유로 모달 열림 여부나 입력창 텍스트 같은 지역 상태까지 모두 전역 store에 넣는 것은 피해야 합니다.
원리와 예제까지 읽기
공식 참고 자료
질문 목록 출처 ↗ · 원본 80번을 바탕으로 질문과 답변을 새로 정리했습니다.