📌 useContext를 사용하는 이유?

<Prop Drilling>

Untitled

→ 최상위 컴포넌트에서 data가 필요한 컴포넌트까지 props로 연쇄적으로 전달하는 것

중간에 data가 필요 없는 컴포넌트까지 data를 받아서 전달해줘야하기 때문에 비효율적이다.

<useContext>

Untitled

→ 최상위 컴포넌트에서 전달할 data만 context를 이용하여 전달하고,

전달 받을 컴포넌트에서는 useContext를 이용하여 넘겨 받는다.

⭐ 그렇다면 모든 props 대신 context로 대체 가능한가?

⇒ NOPE!

context를 사용하면 컴포넌트를 “재사용하기 어려워”질 수 있기 때문에

꼭!! 필요한 때에만 사용하기!

⭐ Prop Drilling을 피하기 위한 목적으로 사용한다면,

**“Component Composition(컴포넌트 합성)”**이 더 효율적인 방법일 것이다.