dev-proPRO
OverviewLộ Trình HọcPhỏng VấnAI System
dev-pro— Thực chiến Frontend React, Next.js & Luyện phỏng vấn
contact@dev-pro.online•Code thật. Phỏng vấn thật.
Seri React Mastery8 Lộ trình · Sandbox
Seri React Mastery
8 tracks
T01
React Core Foundations0/7 hoàn thành
  • Bài học (7)
  • Giải Phẫu Cấu Trúc Thư Mục Dự Án React & Vòng Đời Bootstrapping15m•beginner
  • Bản chất của JSX & Mental Model Render trong React15m•beginner
  • Props, Tính Bất Biến & Pattern Component Composition15m•beginner
  • Làm chủ State với useState & Cơ chế Batching18m•beginner
  • React Events, State Modeling & Lifting State20m•beginner
  • Rendering Danh Sách, Keys & Điều Kiện Hiển Thị Chuẩn16m•beginner
  • State Placement: Local, URL, Server, Global hay Form?20m•intermediate
T02
React Hooks Mastery0/5 hoàn thành
T03
React Component Architecture & Forms0/4 hoàn thành
T04
React & Compiler: Modern Path0/4 hoàn thành
T05
Form Engineering: RHF + Zod + Server Actions0/2 hoàn thành
T06
Advanced React Performance Patterns0/4 hoàn thành
T07
Enterprise React Testing & Production Readiness0/5 hoàn thành
T08
Production Capstone: TeamBoard0/1 hoàn thành
Tiến độ React0/32 bài
React Core Foundations
beginner
16 phút
#List Rendering
#Keys
#Reconciliation
#Conditional

Rendering Danh Sách, Keys & Điều Kiện Hiển Thị Chuẩn

Bản chất thuật toán Reconciliation của React khi so sánh Key, cạm bẫy dùng index làm key và cách viết Conditional Rendering sạch.

Core Mental Model

Key là định danh duy nhất (Unique Identity) giúp React biết item nào được thêm, sửa hay xóa giữa các lần render. Dùng Index làm key sẽ làm sai lệch trạng thái nội bộ của item khi danh sách bị sắp xếp lại.

Key Takeaways & Principles

Key phải là giá trị duy nhất và ổn định giữa các lần render (ví dụ: database id `item.id`).
Tuyệt đối không dùng `Math.random()` hoặc Array `index` làm key cho các danh sách có thể thêm/xóa/sắp xếp.
Tránh cạm bẫy `items.length && <List />` vì khi `length === 0`, React sẽ render số 0 ra màn hình. Hãy dùng ternary hoặc `items.length > 0`.