Trong vòng đời (lifecycle) của một component React, có 3 giai đoạn chính:
1. Mount (Gắn kết): Là khoảnh khắc component được tạo ra và chèn vào DOM thật lần đầu tiên.
- Hook tương ứng: useEffect với dependency array rỗng [].
2. Update (Cập nhật): Xảy ra khi component cần phải vẽ lại (re-render). Điều này xảy ra do 3 nguyên nhân chính: state thay đổi, props từ cha truyền xuống thay đổi, hoặc component cha bị re-render.
- Hook tương ứng: useEffect có chứa dependencies (chạy khi dependencies thay đổi).
3. Unmount (Tháo gỡ): Là lúc component bị xóa hoàn toàn khỏi DOM (vd: khi chuyển trang hoặc điều kiện render bị false).
- Hook tương ứng: Hàm cleanup (return function) bên trong useEffect. Đây là nơi dọn dẹp các side effects như hủy bỏ timer (clearTimeout), hủy listener (removeEventListener) để tránh rò rỉ bộ nhớ.