Bird
Raised Fist0
Reactframework~5 mins

Ternary operator usage in React - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the ternary operator in React JSX?
It is a short way to write an if-else condition inside JSX using the syntax: condition ? expressionIfTrue : expressionIfFalse.
Click to reveal answer
beginner
How do you use the ternary operator to conditionally render text in React?
You write something like: {isLoggedIn ? 'Welcome back!' : 'Please log in.'} inside JSX to show different text based on isLoggedIn.
Click to reveal answer
intermediate
Can the ternary operator be nested in React JSX?
Yes, you can nest ternary operators but it can make code hard to read. It's better to keep conditions simple or use helper functions.
Click to reveal answer
intermediate
Why is the ternary operator preferred over if-else statements inside JSX?
Because JSX expects expressions, not statements. The ternary operator is an expression and fits naturally inside JSX curly braces.
Click to reveal answer
beginner
Show a simple React functional component using the ternary operator to display 'ON' or 'OFF' based on a boolean prop.
function Switch({ isOn }) {
  return <div>{isOn ? 'ON' : 'OFF'}</div>;
}
Click to reveal answer
What does the ternary operator syntax look like in React JSX?
Aif (condition) { trueExpression } else { falseExpression }
Bcondition ? trueExpression : falseExpression
Ccondition && trueExpression
Dswitch(condition) { case true: trueExpression; }
Which of these is a valid use of the ternary operator in JSX?
A{isActive ? <p>Active</p> : <p>Inactive</p>}
Bif (isActive) { <p>Active</p> } else { <p>Inactive</p> }
C{if isActive then <p>Active</p> else <p>Inactive</p>}
D<p>{if isActive then 'Active' else 'Inactive'}</p>
What happens if the condition in a ternary operator is false?
ABoth expressions run
BThe expression before the question mark (?) runs
CThe expression after the colon (:) runs
DNothing runs
Is it good practice to nest many ternary operators in JSX?
AOnly if you use React class components
BYes, it is recommended
COnly if you use more than three conditions
DNo, it makes code hard to read
Which of these is NOT a reason to use the ternary operator in React JSX?
ATo replace all JavaScript if statements
BTo conditionally render elements
CBecause JSX only accepts expressions
DTo write concise conditional code
Explain how the ternary operator works in React JSX and why it is useful.
Think about how you show different things on the screen based on a condition.
You got /4 concepts.
    Describe a simple example of using the ternary operator in a React functional component.
    Imagine a switch that shows ON or OFF depending on a true or false value.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does the ternary operator condition ? expr1 : expr2 do in React JSX?
      easy
      A. It chooses expr1 if condition is true, otherwise expr2.
      B. It always returns expr2 regardless of the condition.
      C. It runs both expr1 and expr2 and returns an array.
      D. It throws an error if condition is false.

      Solution

      1. Step 1: Understand ternary operator structure

        The ternary operator has the form condition ? expr1 : expr2, which means it evaluates the condition first.
      2. Step 2: Evaluate the condition result

        If the condition is true, it returns expr1; if false, it returns expr2.
      3. Final Answer:

        It chooses expr1 if condition is true, otherwise expr2. -> Option A
      4. Quick Check:

        Ternary operator = choose between two values [OK]
      Hint: Remember: condition ? trueValue : falseValue [OK]
      Common Mistakes:
      • Thinking it runs both expressions
      • Confusing with logical AND/OR operators
      • Using it outside JSX incorrectly
      2. Which of the following is the correct syntax to use a ternary operator inside JSX to display "Yes" if isActive is true, else "No"?
      easy
      A. {isActive ? "Yes"; "No"}
      B. {isActive ? "Yes" : "No"}
      C. {isActive ? "Yes"}
      D. {isActive : "Yes" ? "No"}

      Solution

      1. Step 1: Check ternary operator syntax in JSX

        The ternary operator must be inside curly braces in JSX and follow condition ? expr1 : expr2 format.
      2. Step 2: Validate each option

        {isActive ? "Yes" : "No"} correctly uses {isActive ? "Yes" : "No"}. Options B, C, and D have syntax errors or incomplete expressions.
      3. Final Answer:

        {isActive ? "Yes" : "No"} -> Option B
      4. Quick Check:

        Correct JSX ternary syntax = {isActive ? "Yes" : "No"} [OK]
      Hint: Use curly braces and ? : inside JSX [OK]
      Common Mistakes:
      • Missing colon ':' in ternary
      • Using semicolon instead of colon
      • Not wrapping expression in curly braces
      3. What will this React component render?
      function Greeting({ isLoggedIn }) {
        return (
          <div>
            {isLoggedIn ? <h1>Welcome back!</h1> : <h1>Please sign in.</h1>}
          </div>
        );
      }

      If isLoggedIn is false?
      medium
      A.

      Please sign in.

      B.

      Welcome back!

      C.
      D. SyntaxError

      Solution

      1. Step 1: Understand the ternary condition

        The component uses isLoggedIn ? <h1>Welcome back!</h1> : <h1>Please sign in.</h1>. If isLoggedIn is false, it chooses the second expression.
      2. Step 2: Determine output when isLoggedIn is false

        Since isLoggedIn is false, it renders <h1>Please sign in.</h1> inside the div.
      3. Final Answer:

        <div><h1>Please sign in.</h1></div> -> Option A
      4. Quick Check:

        False condition shows second expression [OK]
      Hint: False condition picks expression after colon ':' [OK]
      Common Mistakes:
      • Choosing first expression for false condition
      • Confusing JSX tags rendering
      • Expecting empty div output
      4. Identify the error in this JSX snippet:
      return (
        <div>
          {isReady ? <p>Ready</p> : <p>Not ready</p>}
          {isReady ? <p>Go!</p> : null}
        </div>
      );
      medium
      A. Ternary operator cannot be used inside JSX.
      B. JSX elements must not be inside curly braces.
      C. Second ternary is missing the else part after colon.
      D. No error; code is valid.

      Solution

      1. Step 1: Check each ternary usage

        The first ternary is correct with both true and false parts. The second uses {isReady ? <p>Go!</p> : null} which is valid syntax.
      2. Step 2: Understand ternary operator requirements

        The ternary operator requires both true and false expressions separated by a colon. Here, the else part is null, which is valid JSX.
      3. Final Answer:

        No error; code is valid. -> Option D
      4. Quick Check:

        Ternary needs both ? and : parts, and else can be null [OK]
      Hint: Ternary always needs ? and : parts [OK]
      Common Mistakes:
      • Omitting the else expression
      • Confusing ternary with logical AND
      • Thinking JSX can't have ternary
      5. You want to display a list of user names with a label showing if they are online or offline using ternary inside JSX. Which code correctly implements this?
      const users = [
        { name: "Alice", online: true },
        { name: "Bob", online: false }
      ];
      
      function UserList() {
        return (
          <ul>
            {users.map(user => (
              <li key={user.name}>
                {user.name} - {user.online ? "Online" : "Offline"}
              </li>
            ))}
          </ul>
        );
      }
      hard
      A. Does not render anything because key is missing.
      B. Will throw an error because ternary cannot be used inside map.
      C. Correctly shows each user with "Online" or "Offline" label.
      D. Only shows "Online" for all users regardless of status.

      Solution

      1. Step 1: Analyze the map and ternary usage

        The code maps over users and uses a ternary to show "Online" if user.online is true, else "Offline".
      2. Step 2: Check React key and JSX correctness

        Each <li> has a unique key from user.name, and the ternary is correctly inside JSX curly braces.
      3. Final Answer:

        Correctly shows each user with "Online" or "Offline" label. -> Option C
      4. Quick Check:

        Map + ternary inside JSX = correct rendering [OK]
      Hint: Use map with ternary inside JSX for conditional labels [OK]
      Common Mistakes:
      • Forgetting unique key in list items
      • Trying to use ternary outside JSX braces
      • Assuming ternary can't be used in map
      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