easyFrontend

What is the purpose of the `key` prop when rendering lists in React?

890 views
01

Understand the problem

This covers a critical concept for efficient list rendering and avoiding bugs.

listskeysperformancereconciliation
02

Attempt it yourself

Sketch your approach before reading the solution — that's what interviews test.

Stuck? AI Nudge Available

Get a conceptual hint to guide your logic without spoiling the final implementation.

03

Study the solution

The solution is waiting

Give it an honest attempt first — then compare your thinking with the full walkthrough.

04

Read the code

Stable keys preserve per-row state
import { useState } from "react";

export default function App() {
  const [items, setItems] = useState([
    { id: "a", name: "Ada" },
    { id: "b", name: "Grace" },
    { id: "c", name: "Lin" },
  ]);
  const shuffle = () => setItems((xs) => [...xs].reverse());

  return (
    <div style={{ padding: 24, fontFamily: "system-ui" }}>
      <button onClick={shuffle}>Reverse</button>
      <ul>
        {items.map((it) => (
          <li key={it.id}>                 {/* stable id, not index */}
            {it.name} <input placeholder="type then reverse" />
          </li>
        ))}
      </ul>
    </div>
  );
}
05

Join the discussion

Discussion (0)

Sign in to join the discussion.

No responses yet. Be the first to share what you think.