This article is available in Vietnamese only.
Virtual Scroll / Windowing: Hiển thị 100.000 phần tử trên React và Vue mượt mà
Hướng dẫn Virtual Scrolling và Windowing để hiển thị danh sách 100.000 phần tử trên React/Vue: thuật toán, TypeScript, TanStack Virtual, dynamic height và tối ưu production.

Vì sao render 100.000 phần tử bị lag?
Nếu map trực tiếp 100.000 item thành component:
Browser và framework phải trả chi phí cho:
- Tạo và giữ hàng trăm nghìn DOM nodes.
- Style calculation và layout trên cây DOM lớn.
- Paint, hit testing và accessibility tree.
- React reconciliation hoặc Vue reactivity.
- Event listeners, images và component state.
- Memory và garbage collection.
Ngay cả khi screen chỉ hiển thị 15–30 hàng, toàn bộ danh sách vẫn nằm trong DOM.
Virtualization thay đổi điều đó:


