질문 81 · 실전 면접 답변
Props drilling의 부담은 어떻게 줄이나요?
이렇게 답해 보세요 (핵심 답변)
Props drilling은 깊은 하위 컴포넌트에 값을 전달하기 위해 그 값을 직접 쓰지 않는 중간 컴포넌트들이 연쇄적으로 props를 넘기는 현상입니다. 2~3단계 정도의 전달은 데이터 흐름이 명시적이라는 장점이 있으므로 무조건 나쁜 것은 아닙니다. 하지만 중간 레이아웃 컴포넌트가 불필요한 데이터 의존성을 많이 갖게 된다면, 먼저 children이나 슬롯 props를 활용한 컴포넌트 조합으로 구조를 단순화하고, 테마나 인증 정보처럼 넓은 범위에서 공유되는 값에는 Context를 도입합니다.
함께 설명하면 좋은 이유 (꼬리질문 대비)
- 부모에서 자식 컴포넌트를 직접 조립해 children으로 넘기면 중간 래퍼 컴포넌트는 데이터 props를 전혀 알 필요가 없습니다.
- Context는 전달 단계를 줄여 주지만 공급자 값이 바뀔 때 하위 소비자들이 함께 영향받으므로 관심사와 변경 빈도에 따라 분리해야 합니다.
면접에서 자주 하는 실수
단순히 몇 단계의 props 전달이 번거롭다는 이유만으로 모든 컴포넌트 상태를 전역 저장소로 빼내면 컴포넌트 재사용성과 독립성이 떨어집니다.
원리와 예제까지 읽기
공식 참고 자료
질문 목록 출처 ↗ · 원본 81번을 바탕으로 질문과 답변을 새로 정리했습니다.