Bird
Raised Fist0
Reactframework~5 mins

Common list rendering mistakes in React - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
Why should you always provide a key prop when rendering lists in React?
The key helps React identify which items changed, were added, or removed. This improves performance and prevents bugs during re-rendering.
Click to reveal answer
intermediate
What happens if you use the array index as the key in a list?
Using the index as key can cause problems when the list changes order or items are added/removed. React may reuse components incorrectly, causing UI bugs.
Click to reveal answer
beginner
What is a common mistake when rendering lists without unique keys?
React will warn about missing keys, and without unique keys, it can't track items properly. This can lead to unexpected UI updates or incorrect component states.
Click to reveal answer
intermediate
Why should list items be stable and not change their key between renders?
If keys change, React treats items as new and recreates them, losing any local state or causing unnecessary re-renders.
Click to reveal answer
beginner
What mistake can happen if you forget to return the list item inside a map()?
If you forget to return the JSX inside map(), the list will render empty or undefined items, causing no visible output or errors.
Click to reveal answer
What is the main purpose of the key prop in React list rendering?
ATo add event listeners to list items
BTo uniquely identify list items for efficient updates
CTo style the list items differently
DTo sort the list items automatically
Which of these is a bad choice for a key in a dynamic list?
AA UUID generated once per item
BA stable string unique to each item
CA unique ID from data
DThe array index
What happens if you render a list without any key props?
AReact warns and may update inefficiently
BReact throws a runtime error
CThe list items get styled differently
DNothing happens, it works perfectly
Why is it important that keys remain stable between renders?
ATo add animations to list items
BTo change the order of items automatically
CTo keep component state and avoid unnecessary re-renders
DTo prevent React from rendering the list
What mistake causes a list to render nothing when using map()?
ANot returning the JSX element inside <code>map()</code>
BUsing unique keys
CUsing <code>filter()</code> instead of <code>map()</code>
DAdding keys to list items
Explain why keys are important in React list rendering and what can go wrong if they are missing or unstable.
Think about how React tracks items between renders.
You got /4 concepts.
    Describe a common mistake when using map() to render lists and how to fix it.
    Check your arrow function syntax inside <code>map()</code>.
    You got /3 concepts.

      Practice

      (1/5)
      1. Why is it important to add a unique key prop when rendering lists in React?
      easy
      A. It automatically sorts the list alphabetically.
      B. It makes the list items look prettier on the screen.
      C. It prevents the list from rendering at all.
      D. It helps React identify which items have changed, added, or removed.

      Solution

      1. Step 1: Understand the role of keys in React lists

        Keys help React track each item uniquely when the list changes.
      2. Step 2: Identify the effect of keys on UI updates

        With keys, React can efficiently update only changed items, improving performance and correctness.
      3. Final Answer:

        It helps React identify which items have changed, added, or removed. -> Option D
      4. Quick Check:

        Keys improve UI updates = A [OK]
      Hint: Keys uniquely identify list items for React updates [OK]
      Common Mistakes:
      • Thinking keys affect styling
      • Believing keys prevent rendering
      • Assuming keys sort the list
      2. Which of the following is the correct way to add keys when rendering a list of items stored in items array?
      easy
      A. {items.map((item, index) => <li key={index}>{item}</li>)}
      B. {items.map(item => <li key={item.id}>{item.name}</li>)}
      C. {items.map(item => <li>{item.name}</li>)}
      D. {items.map((item, i) => <li key={i + 1}>{item.name}</li>)}

      Solution

      1. Step 1: Check key uniqueness and stability

        Using item.id ensures each key is unique and stable across renders.
      2. Step 2: Evaluate other options

        Using index as key (options A and D) can cause bugs if list changes; no key ({items.map(item => <li>{item.name}</li>)}) causes warnings.
      3. Final Answer:

        {items.map(item => <li key={item.id}>{item.name}</li>)} -> Option B
      4. Quick Check:

        Use unique stable keys = B [OK]
      Hint: Use unique IDs, not indexes, as keys [OK]
      Common Mistakes:
      • Using array index as key
      • Omitting the key prop
      • Using non-unique keys
      3. What will be the output of this React code snippet?
      const items = ['apple', 'banana', 'cherry'];
      
      function FruitList() {
        return (
          <ul>
            {items.map((fruit, index) => (
              <li key={index}>{fruit}</li>
            ))}
          </ul>
        );
      }

      Assuming the list changes by adding 'date' at the start, what problem might occur?
      medium
      A. React may reuse wrong list items causing UI bugs due to index keys.
      B. React will throw a syntax error because keys cannot be numbers.
      C. The list will not render at all.
      D. React will correctly update the list with no issues.

      Solution

      1. Step 1: Understand index as key behavior

        Using index as key means keys depend on item position, not identity.
      2. Step 2: Analyze effect of adding item at start

        Adding 'date' at start shifts indexes, causing React to mismatch items and update wrong elements.
      3. Final Answer:

        React may reuse wrong list items causing UI bugs due to index keys. -> Option A
      4. Quick Check:

        Index keys cause UI bugs on list changes = D [OK]
      Hint: Index keys break UI if list order changes [OK]
      Common Mistakes:
      • Assuming index keys are always safe
      • Thinking React throws error for numeric keys
      • Believing list won't render without unique keys
      4. Identify the error in this React list rendering code:
      const users = [{id: 1, name: 'Anna'}, {id: 2, name: 'Ben'}];
      
      function UserList() {
        return (
          <ul>
            {users.map(user => <li key={user.name}>{user.name}</li>)}
          </ul>
        );
      }
      medium
      A. Using user.name as key may cause duplicate keys if names repeat.
      B. Missing key prop on list items.
      C. Using curly braces inside JSX is invalid here.
      D. The map function should return a fragment instead of <li>.

      Solution

      1. Step 1: Check key uniqueness

        Keys must be unique and stable. Using user.name risks duplicates if names repeat.
      2. Step 2: Confirm other code parts

        Key prop is present; JSX syntax is correct;
      3. is appropriate for list items.
      4. Final Answer:

        Using user.name as key may cause duplicate keys if names repeat. -> Option A
      5. Quick Check:

        Keys must be unique = C [OK]
      Hint: Keys must be unique, avoid using non-unique fields [OK]
      Common Mistakes:
      • Using non-unique keys like names
      • Omitting key prop
      • Misunderstanding JSX syntax
      5. You have a list of tasks where some tasks have duplicate IDs due to a backend bug. How should you render this list in React to avoid key conflicts?
      const tasks = [
        {id: 1, title: 'Task A'},
        {id: 2, title: 'Task B'},
        {id: 1, title: 'Task C'}
      ];
      
      function TaskList() {
        return (
          <ul>
            {tasks.map((task, index) => (
              <li key={/* What to put here? */}>{task.title}</li>
            ))}
          </ul>
        );
      }
      hard
      A. Use key={task.id} even if duplicates exist.
      B. Use key={index} to guarantee uniqueness despite duplicates.
      C. Combine id and index like key={`${task.id}-${index}`} for unique keys.
      D. Omit the key prop to avoid errors.

      Solution

      1. Step 1: Understand key uniqueness requirement

        Keys must be unique and stable. Duplicate IDs break uniqueness.
      2. Step 2: Combine id and index for uniqueness

        Combining id and index creates unique keys like '1-0', '1-2', avoiding conflicts.
      3. Final Answer:

        Combine id and index like key={`${task.id}-${index}`} for unique keys. -> Option C
      4. Quick Check:

        Unique keys from combined values = A [OK]
      Hint: Combine id and index for unique keys if duplicates exist [OK]
      Common Mistakes:
      • Using duplicate IDs as keys
      • Omitting keys
      • Using only index keys causing UI bugs
      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