mediumFrontend

What is 'prop drilling' and how can it be avoided?

552 views
01

Understand the problem

Identifies an anti-pattern and knowledge of solutions for state management.

prop drillingcontext apistate managementperformance
02

Attempt it yourself

Sketch your approach before reading the solution — that's what interviews test.

Stuck? AI Nudge Available

Get a conceptual hint to guide your logic without spoiling the final implementation.

03

Study the solution

The solution is waiting

Give it an honest attempt first — then compare your thinking with the full walkthrough.

04

Read the code

Composition removes the drilling
import { useState } from "react";

// Layout doesn't know about 'user' — it just renders children
function Layout({ children }) {
  return <main style={{ padding: 16 }}>{children}</main>;
}
function Welcome({ user }) {
  return <h3>Welcome, {user}</h3>;
}

export default function App() {
  const [user] = useState("Ada");
  return (
    <div style={{ fontFamily: "system-ui" }}>
      {/* pass the consumer as children → no prop threaded through Layout */}
      <Layout>
        <Welcome user={user} />
      </Layout>
    </div>
  );
}
05

Join the discussion

Discussion (0)

Sign in to join the discussion.

No responses yet. Be the first to share what you think.