프론트엔드/리액트

[React] 전역 상태 관리(props Drilling, 전역상태관리)

민초의지배자 2025. 6. 8. 15:36

1. Props Drilling이란?

`React 컴포넌트에서 하위 컴포넌트로 props를 전달하는 과정에서 중간에 있는 child1, child3까지도 의미없이 props를 전달해줘야 하는 번거로운 상황이 발생한다. 

컴포넌트의 계층이 많을수록 코드가 복잡해지고 유지보수가 어려워짐.

function App() {
  const user = "주인님";
  return <Parent user={user} />;
}

function Parent({ user }) {
  return <Child user={user} />;
}

function Child({ user }) {
  return <GrandChild user={user} />;
}

function GrandChild({ user }) {
  return <p>안녕하세요, {user}</p>;
}

// 이런식으로 최하단 컴포넌트에 props를 전달하기 위해 중간에 있는 애들까지 props를 전달해 줘야하는 상황이 생김

 

2. 전역 상태관리의 필요성

`

` 전역 상태관리는 여러 컴포넌트에서 동일한 데이터가 필요할때와

`  props drilling을 피하기위해 사용 되어진다.

 

3. 전역 상태관리 도구들

도구                                     특징

React Context 간단한 전역 상태 관리에 적합 (작은 앱에 딱)
Redux 매우 구조화된 상태 관리 (복잡한 앱에 적합)
Zustand 가볍고 사용 쉬움 (React hook 스타일 좋아하는 사람에게 추천)
Recoil / Jotai atom 단위로 상태 관리, 매우 유연함