Pure Component là component chỉ re-render khi props hoặc state của nó thực sự thay đổi, giúp tối ưu hiệu suất.
Sự khác biệt so với Component thông thường:
- Class Component: Thay vì kế thừa React.Component (luôn re-render khi cha re-render), nó kế thừa React.PureComponent.
- Function Component: Tương đương với việc bọc component trong React.memo().
- Cơ chế: Nó tự động thực hiện shallow comparison (so sánh nông) trên props và state. Nếu không có sự khác biệt, nó sẽ bỏ qua việc re-render.
Lưu ý: Vì dùng shallow comparison, nó có thể không nhận diện được sự thay đổi nếu bạn truyền vào một mảng hoặc object bị mutate (thay đổi trực tiếp bên trong mà không tạo reference mới).