본문 바로가기
FrontEnd/React

Props Drilling이란?

by pikan97 2025. 2. 22.

React 애플리케이션에서 상태관리와 props 전달은 필수적인 요소입니다. 상황에 따라 자식 컴포넌트에 전달해야하는 경우가 많은데, 이때 props를 계속해서 전달하는 props drilling이 발생할 수 있습니다.

 

예를 들어, 로그인 정보를 생각해보면 서비스에 사용되는 대부분의 컴포넌트에서 로그인 정보가 필요할 수 있습니다.

그렇게 되면 로그인 컴포넌트가 최상위 컴포넌트로 로그인 정보를 전달해주고, 상위 컴포넌트에서 하위 컴포넌트로 계속해서 props로 넘겨주는 상황이 발생할 수 있습니다.

로그인 컴포넌트로부터 실제 사용하는 G, F 컴포넌트에 전달하기 위해선 회원 정보를 사용하지도 않는 A,B,C,D,E 컴포넌트를 지나가게 됩니다.

 

이렇게 Props를 계속 내려주는 것을 Props Drilling이라고 합니다. 사진으로만 봐도 조금 비효율적이라는 생각이 들죠.

 

Props Drilling의 문제점

그렇다면 이런 Props Drilling을 피해야하는 이유는 뭘까요?

 

1.  저하

-Props drilling이 발생하면 상 컴넌트에서 하 컴포넌 props를 계속 전달해야 합니다. 이로 인해 컴포넌트 구조가 복지고, 코드 길 독성이 떨어니다. 특히, 많은 컴포넌가 중첩되어 있을 경우, 어떤 props가 어디 오는 파악하기 어려집니다.

 

2. 유지 어려

-컴 변경거나 새로운 props 추가 때, 모든 중 컴에서 해당 props 수정해야 합니다. 이는 코드 유지수를 어렵 만들, 실 인해 버 발생 가능성을 높입니다.

 

3.  

-상 컴에서 props 변경, 해당 props 사용하는 모든 하 컴 리됩니다. 이 인해  저 발생 수 있으며, 특히 큰 애이션에서는 불 리 성 큰 영향을 미 수 있습니다.

 

 

4.    

-Props drilling 컴 간 의성을 증가니다. 특정 컴 다른 컴 props 의하게 되, 해당 컴트를 재사용하기 어려지고, 코드 재사용성이 떨어니다.

 

 

5. 스트 

-Props drilling 심 경우, 컴넌트를 테스트 때 필요한 props 모두 전달해야 하므로 테스트 코드 복해질 수 있습니다. 이는 테스트 가독성을 떨어뜨리고, 테스트 작성 및 유지보수를 어렵게 만니다.

 

 
 

러한 문제들은 Props drilling 하고, 더 은 상태 관리 방법을 고려해야 하는 이유입니다. React Context API Redux와 같은 상태 관리 라이브러리를 사용하면 이러한 문제를 효과적으로 해결할 수 있습니다.

 

다음 글에서는 전역 상태 관리의 필요성과 React Context API 및 Redux와 같은 전역 상태 관리 라이브러리에 대해 다뤄보겠습니다.

'FrontEnd > React' 카테고리의 다른 글

상태 관리 (1). state와 props  (0) 2025.02.09
리액트 디바운싱, 쓰로틀링(Debouncing, Throttling)  (0) 2024.07.17