Discover how to build reusable UI using props to pass data from parents to children. Learn why one-way data flow and immutability are the secrets to predictable React applications.

The fundamental 'Golden Rule' of React is that props are read-only and immutable; once they are passed from a parent to a child, the child cannot change them.
Explain props: passing data from parent to child, read-only nature, and one-way data flow. Use a Podcast EpisodeCard example. Keep coding minimal and focus on understanding.


Props, short for properties, act as the "secret sauce" that makes components dynamic. They function like arguments passed into a function, allowing a single blueprint—such as an EpisodeCard—to display different information like titles, guest names, or images. In the code, props are passed from a parent component to a child component using a syntax that looks like HTML attributes, such as <EpisodeCard title="The Magic of Props" />.
Props follow a strict "Golden Rule" in React: once a parent hands data down to a child, the child cannot modify it. This is often compared to a printed theater ticket; you can read your seat number, but you aren't allowed to cross it out and write in a better one. This constraint ensures data consistency across large applications, making the code predictable and easier to debug because the "source of truth" always remains with the parent component.
When passing data as a prop, React treats anything inside straight quotes as a literal string. For example, length="45" would be interpreted as text rather than a number. To pass actual JavaScript values like numbers, booleans, arrays, or objects, you must wrap the value in curly braces, such as length={45}. These braces signal to React that it should stop reading the input as plain text and start evaluating it as JavaScript code.
Prop drilling occurs when data must be passed through several layers of "middlemen" components that don't actually use the data themselves, just to reach a component deep in the tree. While this keeps data movement visible and explicit, it can make the code cluttered because every intermediate component must declare props it doesn't care about. Developers often use this top-down approach to maintain a "Single Source of Truth," though tools like Context can be used if the drilling becomes too deep.
The children prop is a special, built-in prop used for component composition. Unlike standard props that are passed as attributes, children consists of whatever content is placed between the opening and closing tags of a component. This allows developers to create "Container" components, like a frame or a styled wrapper, that can hold and display any nested JSX or other components without needing to know exactly what is inside them.
From Columbia University alumni built in San Francisco
"Instead of endless scrolling, I just hit play on BeFreed. It saves me so much time."
"I never knew where to start with nonfiction—BeFreed’s book lists turned into podcasts gave me a clear path."
"Perfect balance between learning and entertainment. Finished ‘Thinking, Fast and Slow’ on my commute this week."
"Crazy how much I learned while walking the dog. BeFreed = small habits → big gains."
"Reading used to feel like a chore. Now it’s just part of my lifestyle."
"Feels effortless compared to reading. I’ve finished 6 books this month already."
"BeFreed turned my guilty doomscrolling into something that feels productive and inspiring."
"BeFreed turned my commute into learning time. 20-min podcasts are perfect for finishing books I never had time for."
"BeFreed replaced my podcast queue. Imagine Spotify for books — that’s it. 🙌"
"It is great for me to learn something from the book without reading it."
"The themed book list podcasts help me connect ideas across authors—like a guided audio journey."
"Makes me feel smarter every time before going to work"
From Columbia University alumni built in San Francisco
