useEffect trong React chạy khi nào? Mảng phụ thuộc dùng để làm gì?
Gợi ý trả lời
useEffect chạy sau khi React đã cập nhật giao diện. Nó dùng để đồng bộ component với thứ bên ngoài React: gọi API, đăng ký sự kiện, hẹn giờ.
- Không có mảng phụ thuộc: chạy sau mỗi lần render.
- Mảng rỗng
[]: chạy một lần sau lần render đầu tiên. - Có giá trị
[id]: chạy lại khiidthay đổi.
Hàm trả về từ effect là hàm dọn dẹp, chạy trước lần effect tiếp theo và khi component bị gỡ, ví dụ để hủy hẹn giờ hay gỡ sự kiện.