Bird
Raised Fist0
Reactframework~10 mins

Using props in JSX in React - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Using props in JSX
Parent Component
↓
Pass props to Child
↓
Child Component receives props
↓
Use props inside JSX
↓
Render output with props values
The parent sends data as props to the child, which uses them inside JSX to render dynamic content.
Execution Sample
React
function Greeting(props) {
  return <h1>Hello, {props.name}!</h1>;
}

ReactDOM.render(<Greeting name="Alice" />, document.getElementById('root'));
A Greeting component receives a name prop and shows it inside an h1 tag.
Execution Table
StepActionProps ReceivedJSX RenderedOutput
1Parent calls <Greeting name="Alice" />name: "Alice"Hello, Alice!<h1>Hello, Alice!</h1>
2Greeting function runs with propsname: "Alice"Hello, Alice!<h1>Hello, Alice!</h1>
3JSX evaluates {props.name}name: "Alice"Hello, Alice!<h1>Hello, Alice!</h1>
4React renders the h1 elementname: "Alice"Hello, Alice!Visible text: Hello, Alice!
💡 Rendering completes after JSX uses props to produce output.
Variable Tracker
VariableStartAfter Step 1After Step 2Final
propsundefined{name: "Alice"}{name: "Alice"}{name: "Alice"}
props.nameundefined"Alice""Alice""Alice"
Key Moments - 2 Insights
Why do we write {props.name} inside JSX?
Because JSX lets us embed JavaScript expressions inside curly braces to show dynamic values, as seen in execution_table step 3.
What happens if the parent does not pass the 'name' prop?
Then props.name is undefined, so the output would show 'Hello, undefined!', as props are received in step 2.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the value of props.name at Step 2?
A"Alice"
B"Bob"
Cundefined
Dnull
💡 Hint
Check the 'Props Received' column at Step 2 in the execution_table.
At which step does JSX evaluate the expression {props.name}?
AStep 1
BStep 4
CStep 3
DStep 2
💡 Hint
Look for the 'JSX Rendered' column describing JSX evaluation.
If the parent changes name to "Bob", what changes in the variable_tracker?
Aprops becomes undefined
Bprops.name changes to "Bob"
CNo change in props.name
Dprops.name becomes null
💡 Hint
See how props.name updates in variable_tracker when props change.
Concept Snapshot
Using props in JSX:
- Parent passes data as props: <Component propName="value" />
- Child receives props as function argument
- Use props inside JSX with {props.propName}
- JSX renders dynamic content based on props
- Props are read-only inside child components
Full Transcript
In React, components can receive data from their parent components through props. The parent writes the component tag with attributes, like <Greeting name="Alice" />. The child component function receives these props as an object argument. Inside the JSX returned by the child, we use curly braces to embed JavaScript expressions, such as {props.name}, to show dynamic values. React then renders the JSX to the screen, showing the text with the passed-in name. If the parent changes the prop value, the child re-renders with the new data. Props are read-only and allow components to be reusable with different inputs.

Practice

(1/5)
1. What is the main purpose of props in React components?
easy
A. To handle user events like clicks
B. To store internal state within a component
C. To style components with CSS
D. To pass data from a parent component to a child component

Solution

  1. Step 1: Understand the role of props

    Props are used to send data from a parent component to a child component in React.
  2. Step 2: Differentiate props from other concepts

    State stores internal data, events handle user actions, and CSS styles components, but props specifically pass data down.
  3. Final Answer:

    To pass data from a parent component to a child component -> Option D
  4. Quick Check:

    Props = Data passing [OK]
Hint: Props always send data from parent to child [OK]
Common Mistakes:
  • Confusing props with state
  • Thinking props handle events
  • Believing props style components
2. Which of the following is the correct way to use a prop named title inside JSX?
easy
A. <h1>title</h1>
B. <h1>{title}</h1>
C. <h1>{props.title}</h1>
D. <h1>$title</h1>

Solution

  1. Step 1: Use curly braces to embed prop values in JSX

    In JSX, to show a prop value, you wrap the prop access in curly braces like {props.title}.
  2. Step 2: Understand context of prop usage

    The props object is passed to the component function, so access via {props.title}. Using {title} requires destructuring like function Comp({title}).
  3. Final Answer:

    <h1>{props.title}</h1> -> Option C
  4. Quick Check:

    Curly braces show prop values [OK]
Hint: Use curly braces { } to show props in JSX [OK]
Common Mistakes:
  • Writing prop name as plain text without braces
  • Using $ sign like in other languages
  • Using {title} without destructuring the props object
3. Given the component:
function Greeting(props) {
  return <h2>Hello, {props.name}!</h2>;
}

// Usage:
<Greeting name="Alice" />

What will be rendered on the screen?
medium
A.

Hello, {name}!

B.

Hello, Alice!

C.

Hello, props.name!

D. SyntaxError

Solution

  1. Step 1: Identify how props are passed and used

    The Greeting component receives a prop called name with value "Alice".
  2. Step 2: Understand JSX rendering with props

    The JSX uses {props.name} which inserts the string "Alice" inside the <h2> tag.
  3. Final Answer:

    <h2>Hello, Alice!</h2> -> Option B
  4. Quick Check:

    props.name = Alice [OK]
Hint: Props values appear inside curly braces in JSX output [OK]
Common Mistakes:
  • Expecting literal text {name} instead of value
  • Confusing props.name with string 'props.name'
  • Thinking this causes syntax error
4. What is wrong with this React component code?
function Welcome(props) {
  return <h1>Welcome, props.name!</h1>;
}
medium
A. props.name should be inside curly braces to render its value
B. Function name should be lowercase
C. Missing return statement
D. JSX tags must be self-closing

Solution

  1. Step 1: Check how props are used inside JSX

    The code writes props.name as plain text inside JSX, so it will render literally instead of the prop value.
  2. Step 2: Correct usage of props in JSX

    To show the value of props.name, it must be wrapped in curly braces like {props.name}.
  3. Final Answer:

    props.name should be inside curly braces to render its value -> Option A
  4. Quick Check:

    Use {props.name} to show prop value [OK]
Hint: Always wrap props in { } inside JSX [OK]
Common Mistakes:
  • Writing props.name as plain text
  • Thinking function names must be lowercase
  • Confusing JSX self-closing rules
5. You want to create a reusable Button component that shows different text based on a label prop. Which code correctly uses props to achieve this?
function Button(props) {
  return <button>???</button>;
}

Choose the correct replacement for ???.
hard
A. {props.label}
B. {label}
C. "props.label"
D. label

Solution

  1. Step 1: Understand how to access props inside the component

    The component receives props as an object, so the label prop is accessed as props.label.
  2. Step 2: Use curly braces to embed the prop value in JSX

    To show the value inside JSX, wrap props.label in curly braces: {props.label}.
  3. Final Answer:

    {props.label} -> Option A
  4. Quick Check:

    Use {props.propName} to show prop value [OK]
Hint: Use {props.propName} inside JSX to show prop values [OK]
Common Mistakes:
  • Using prop name without braces
  • Using braces without props object
  • Using quotes around prop name
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard