Lesson 16/100

Tutorials React.js Tutorial

React Lists & Keys — Complete Guide

React Lists & Keys — Complete Guide: free step-by-step lesson with examples, common mistakes, and interview tips — part of React.js Tutorial on Toolliyo Academy.

On this page

React.js Tutorial · Lesson 16 of 100

React Lists & Keys

BeginnerIntermediateAdvancedProfessional

Beginner · 1 — Learn by example · ~6 min · Module 2: Props, Events & Lists

What is this?

Render lists by mapping an array to JSX. Each item needs a unique key prop so React can track which row changed, added, or removed.

Why should you care?

Without keys, React may update the wrong DOM nodes when the list reorders — causing bugs and lost input focus.

See it live — copy this example

Paste into src/App.jsx (or the file noted in the steps). Save and watch the browser update.

const todos = [
  { id: 1, text: 'Buy milk' },
  { id: 2, text: 'Call mom' }
];

<ul>
  {todos.map(todo => (
    <li key={todo.id}>{todo.text}</li>
  ))}
</ul>

Run Example »

Edit the code and click Run to see the result update live.

Code
Result

What happened?

  • key={todo.id} should be stable and unique among siblings.
  • Use database ids, not array index, when items can be reordered or deleted.

Try it yourself

  1. Map an array to
  2. or table rows.
  3. Add key from a unique id field.
  4. Filter the array before map if needed.
  5. Change text or labels in the example and save — watch the browser update.
  6. Break the code on purpose (remove a bracket), read the error message, then fix it.

Remember

Use .map() to render lists. Always add a stable unique key. Prefer id over index when list changes.

React.js Tutorial
Course syllabus
Module 1: React Basics & Setup Introduction to React — Complete Guide React Get Started — Complete Guide Your First React App — Complete Guide React Render HTML — Complete Guide ES6 for React — Complete Guide JSX Intro — Complete Guide JSX Expressions — Complete Guide JSX Attributes — Complete Guide JSX If Statements — Complete Guide React Components — Complete Guide
Module 2: Props, Events & Lists React Props — Complete Guide Props Destructuring — Complete Guide Props Children — Complete Guide React Events — Complete Guide React Conditionals — Complete Guide React Lists & Keys — Complete Guide React CSS Styling — Complete Guide Controlled Forms — Complete Guide Form Submit — Complete Guide Multiple Form Inputs — Complete Guide
Module 3: Forms & Hooks Textarea & Select — Complete Guide Checkbox & Radio — Complete Guide useState — Complete Guide useEffect — Complete Guide useRef — Complete Guide useContext — Complete Guide useReducer — Complete Guide useCallback — Complete Guide useMemo — Complete Guide Custom Hooks — Complete Guide
Module 4: Routing & Data React Router — Complete Guide Nested Routing — Complete Guide Protected Routes — Complete Guide Lazy Routes — Complete Guide React Portals — Complete Guide Fetch API — Complete Guide Axios — Complete Guide Error Handling — Complete Guide Context API — Complete Guide React Hook Form — Complete Guide
Module 5: State & Authentication Form Validation — Complete Guide Async Forms — Complete Guide Zustand — Complete Guide Redux Toolkit — Complete Guide TanStack Query — Complete Guide Optimistic Updates — Complete Guide Query Caching — Complete Guide Authentication Flows — Complete Guide React 19 Features — Complete Guide package.json & Tooling — Complete Guide
Module 6: Architecture & React 19 Enterprise Folder Structure — Complete Guide Enterprise State Architecture — Complete Guide Enterprise Form Architecture — Complete Guide Actions — Complete Guide use() — Complete Guide Suspense — Complete Guide Concurrent Rendering — Complete Guide React Compiler — Complete Guide Server Components — Complete Guide Streaming Rendering — Complete Guide
Module 7: Performance Hydration — Complete Guide Memoization — Complete Guide React.memo — Complete Guide Lazy Loading — Complete Guide Code Splitting — Complete Guide Virtualization — Complete Guide Bundle Optimization — Complete Guide Web Vitals — Complete Guide Frontend Performance Tuning — Complete Guide Micro Frontends — Complete Guide
Module 8: Full-Stack & Real-Time Enterprise Scaling — Complete Guide SignalR — Complete Guide WebSockets — Complete Guide SSE — Complete Guide Next.js — Complete Guide SSR — Complete Guide SSG — Complete Guide ISR — Complete Guide ASP.NET Core Integration — Complete Guide Full-stack Enterprise Architecture — Complete Guide
Module 9: Testing & Deployment XSS Protection — Complete Guide Secure Authentication — Complete Guide Jest — Complete Guide React Testing Library — Complete Guide Cypress — Complete Guide Playwright — Complete Guide Docker Deployment — Complete Guide Kubernetes — Complete Guide Azure Deployment — Complete Guide CI/CD Pipelines — Complete Guide
Module 10: ShopCart Projects Todo App Project — Complete Guide E-Commerce Storefront Project — Complete Guide SaaS Admin Panel Project — Complete Guide Banking Dashboard Project — Complete Guide LMS Course Player Project — Complete Guide Healthcare Portal Project — Complete Guide Real-Time Monitoring Project — Complete Guide Multi-Tenant SaaS Project — Complete Guide Enterprise CRM Project — Complete Guide Micro Frontend Platform Project — Complete Guide
Toolliyo Assistant
Ask about tutorials, ebooks, training, pricing, mentor services, and support. I use public site content only—not admin or internal tools.

care@toolliyo.com

Need callback? Share your details