If you’ve been learning React, you’ve probably passed props to components like this:
<MyButton text="Click me!" />
But what if you want to pass JSX elements or even other components between your component’s opening and closing tags?
That’s where props.children comes in! 🌟
💡 What Is props.children?
In React, every component automatically receives a special prop called children.
It contains whatever is written between the opening and closing tags of that component.
For example:
function Card(props) {
return <div className="card">{props.children}</div>;
}
export default function App() {
return (
<Card>
<h2>Hello React!</h2>
<p>This content is inside the Card component.</p>
</Card>
);
}
✅ Output:
<div class="card">
<h2>Hello React!</h2>
<p>This content is inside the Card component.</p>
</div>
🧱 Why It’s Useful
props.children makes components flexible and reusable.
Let’s say you’re creating a reusable Modal or Layout component — you don’t need to hardcode what’s inside. You can let the parent decide!
function Modal({ children }) {
return (
<div className="modal">
<div className="content">{children}</div>
</div>
);
}
export default function App() {
return (
<Modal>
<h1>Welcome!</h1>
<p>This is a reusable modal window.</p>
</Modal>
);
}
Now you can reuse Modal anywhere with different content!
🪄 Bonus Tip: Combine props.children with Other Props
You can mix children with other props for even more control:
function Card({ title, children }) {
return (
<div className="card">
<h3>{title}</h3>
<div>{children}</div>
</div>
);
}
export default function App() {
return (
<Card title="React Magic ✨">
<p>props.children makes components super dynamic!</p>
</Card>
);
}
🧠 Key Takeaways
-
props.childrenallows you to pass JSX between component tags. - It helps you build flexible, reusable components.
- Common use cases: modals, cards, layouts, wrappers, tooltips, etc.
🚀 Final Thoughts
Understanding props.children is a small but powerful step in mastering React’s component system. Once you get comfortable with it, you’ll start building cleaner, reusable, and more composable UI components — like a real pro!
💬 What about you?
How did you first use props.children in a project? Share your experience in the comments below!
Top comments (0)