Bird
Raised Fist0
Reactframework~20 mins

Embedding expressions in JSX in React - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
JSX Expression Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ component_behavior
intermediate
2:00remaining
What is the output of this React component?
Consider the following React component. What will it render inside the <div>?
React
import React from 'react';

function Greeting() {
  const name = 'Alice';
  const age = 25;
  return <div>Hello, {name}! You are {age} years old.</div>;
}

export default Greeting;
AHello, {name}! You are {age} years old.
BHello, Alice! You are 25 years old.
CHello, Alice! You are {age} years old.
DHello, {name}! You are 25 years old.
Attempts:
2 left
💡 Hint
Remember that expressions inside curly braces in JSX are evaluated and replaced with their values.
📝 Syntax
intermediate
1:30remaining
Which JSX expression is valid to embed a JavaScript expression?
Which of the following JSX snippets correctly embeds a JavaScript expression to show the sum of 2 + 3?
A<div>{2 + '3'}</div>
B<div>2 + 3</div>
C<div>{'2 + 3'}</div>
D<div>{2 + 3}</div>
Attempts:
2 left
💡 Hint
JSX expressions inside curly braces are evaluated as JavaScript.
❓ state_output
advanced
2:00remaining
What will be displayed after clicking the button once?
Given this React component, what text will appear inside the <div> after clicking the button once?
React
import React, { useState } from 'react';

function Counter() {
  const [count, setCount] = useState(0);
  return (
    <>
      <div>Count: {count}</div>
      <button onClick={() => setCount(count + 1)}>Increment</button>
    </>
  );
}

export default Counter;
ACount: 1
BCount: 0
CCount: undefined
DCount: NaN
Attempts:
2 left
💡 Hint
Clicking the button calls setCount with count + 1, updating the state.
🔧 Debug
advanced
2:00remaining
Why does this JSX code cause an error?
Examine this JSX snippet. Why does it cause a syntax error?
React
const element = <div>{if (true) { 'Yes' } else { 'No' }}</div>;
AJSX expressions cannot contain statements like if; only expressions are allowed.
BThe curly braces are missing around the if statement.
CThe strings 'Yes' and 'No' must be wrapped in parentheses.
DJSX requires a semicolon after the if statement inside curly braces.
Attempts:
2 left
💡 Hint
JSX expressions expect a single JavaScript expression, not statements.
🧠 Conceptual
expert
2:30remaining
What is the value of 'result' after rendering this React component?
Consider this React component. What is the value of the variable 'result' after the component renders?
React
import React from 'react';

function Example() {
  const a = 5;
  const b = 10;
  const result = <>{a > b ? 'Greater' : a < b ? 'Smaller' : 'Equal'}</>;
  return <div>{result}</div>;
}

export default Example;
AGreater
BEqual
CSmaller
Dundefined
Attempts:
2 left
💡 Hint
The expression uses nested ternary operators to compare a and b.

Practice

(1/5)
1. In React JSX, how do you embed a JavaScript variable name inside a <p> tag to display it?
easy
A.

name

B.

{name}

C.

${name}

D.

\{name\}

Solution

  1. Step 1: Understand JSX embedding syntax

    In JSX, JavaScript expressions must be wrapped in curly braces {} to be evaluated and rendered.
  2. Step 2: Apply embedding to variable

    To display the variable name, write it inside curly braces within the JSX tag: {name}.
  3. Final Answer:

    <p>{name}</p> -> Option B
  4. Quick Check:

    Use curly braces {} to embed variables [OK]
Hint: Use curly braces {} to embed variables in JSX [OK]
Common Mistakes:
  • Using quotes instead of curly braces
  • Trying to use template literals inside JSX directly
  • Escaping curly braces incorrectly
2. Which of the following is the correct way to embed a JavaScript expression that adds two numbers inside JSX?
easy
A.
{2 + 3}
B.
2 + 3
C.
${2 + 3}
D.
{'2 + 3'}

Solution

  1. Step 1: Recognize expression embedding

    JSX requires expressions inside curly braces to evaluate them, so {2 + 3} will calculate the sum.
  2. Step 2: Identify correct syntax

    {2 + 3} correctly uses curly braces with the expression 2 + 3. Other options treat it as plain text or incorrect syntax.
  3. Final Answer:

    <div>{2 + 3}</div> -> Option A
  4. Quick Check:

    Curly braces evaluate expressions in JSX [OK]
Hint: Wrap expressions in {} to evaluate inside JSX [OK]
Common Mistakes:
  • Putting expressions as plain text without braces
  • Using template literals without braces
  • Wrapping expressions in quotes
3. What will be rendered by this React component?
function Greeting() {
  const hour = 10;
  return <h1>Good {hour < 12 ? 'Morning' : 'Evening'}!</h1>;
}
medium
A.

Good {hour < 12 ? 'Morning' : 'Evening'}!

B.

Good Evening!

C. SyntaxError
D.

Good Morning!

Solution

  1. Step 1: Evaluate the conditional expression

    The variable hour is 10, which is less than 12, so the condition hour < 12 is true.
  2. Step 2: Determine the rendered string

    Because the condition is true, the expression returns 'Morning', so the rendered output is <h1>Good Morning!</h1>.
  3. Final Answer:

    <h1>Good Morning!</h1> -> Option D
  4. Quick Check:

    Conditional expression inside {} renders correct text [OK]
Hint: Evaluate expressions inside {} before rendering [OK]
Common Mistakes:
  • Thinking JSX shows raw expressions
  • Confusing true/false in ternary
  • Missing curly braces for expressions
4. Identify the error in this JSX snippet:
const count = 5;
return <div>You have {count} new messages</div>;
medium
A. No error, code is correct
B. Missing curly braces around count
C. JSX must use parentheses around return value
D. Curly braces should be escaped

Solution

  1. Step 1: Check expression embedding

    The variable count is correctly embedded inside curly braces {count} within JSX.
  2. Step 2: Verify JSX syntax

    The JSX syntax is valid; parentheses around return are optional for single-line JSX.
  3. Final Answer:

    No error, code is correct -> Option A
  4. Quick Check:

    Curly braces correctly embed variables in JSX [OK]
Hint: Curly braces embed variables; parentheses optional for single JSX line [OK]
Common Mistakes:
  • Thinking parentheses are mandatory for return
  • Trying to escape curly braces unnecessarily
  • Omitting curly braces around variables
5. Given this React component, what will be the output?
function ListItems() {
  const items = ['Apple', 'Banana', 'Cherry'];
  return (
    <ul>
      {items.map(item => <li key={item}>{item.length > 5 ? item : 'Short'}</li>)}
    </ul>
  );
}
hard
A.
  • Short
  • Short
  • Short
B.
  • Apple
  • Banana
  • Cherry
C.
  • Short
  • Banana
  • Cherry
D. Runtime error due to missing keys

Solution

  1. Step 1: Evaluate each item length

    Items are 'Apple'(5), 'Banana'(6), 'Cherry'(6). The condition item.length > 5 is true for 'Banana' and 'Cherry', false for 'Apple'.
  2. Step 2: Apply conditional rendering

    For 'Apple', length is 5 (not > 5), so it renders 'Short'. For 'Banana' and 'Cherry', it renders the item name.
  3. Step 3: Check keys and JSX structure

    Each <li> has a unique key from the item string, so no error occurs.
  4. Final Answer:

    <ul><li>Short</li><li>Banana</li><li>Cherry</li></ul> -> Option C
  5. Quick Check:

    Conditional expression inside map renders correct list [OK]
Hint: Check condition inside map for each item before rendering [OK]
Common Mistakes:
  • Assuming all items render their names
  • Forgetting to add keys in list items
  • Confusing length comparison operator
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