Nội dung
21.3 ReactJS useEffect_ Cách Unmount Component & Cleanup setInterval_setTimeout Trong React
Trong bài giảng này, chúng ta sẽ cùng tìm hiểu một trong những chủ đề quan trọng trong ReactJS – đó là cách quản lý vòng đời component thông qua useEffect, cụ thể là quá trình unmount và cleanup các hàm bất đồng bộ như setInterval và setTimeout. Đây là kiến thức thiết yếu giúp bạn viết các ứng dụng React hiệu quả, tránh rò rỉ bộ nhớ và xử lý đúng logic khi component bị xoá khỏi DOM. Trước tiên, bài học sẽ giải thích rõ về khái niệm "unmount" – một giai đoạn trong vòng đời của component khi nó bị loại bỏ khỏi giao diện người dùng. Đây là thời điểm quan trọng để thực hiện dọn dẹp tài nguyên, hủy đăng ký sự kiện, hoặc ngắt các tiến trình nền như timeout, interval, hoặc subscription từ WebSocket, API, hay các luồng dữ liệu bên ngoài. Chúng ta sẽ đi sâu vào cơ chế hoạt động của useEffect, đặc biệt là phần return trong useEffect chính là nơi xử lý cleanup khi component unmount. Đây là một điểm đặc biệt của React hook mà nhiều lập trình viên mới thường bỏ qua hoặc hiểu chưa đầy đủ. Bài học sẽ minh họa các tình huống thực tế khi không cleanup đúng cách sẽ gây ra lỗi logic, tăng số lượng interval theo thời gian hoặc để lại các timeout không cần thiết dẫn tới mất kiểm soát trạng thái ứng dụng. Một điểm đáng chú ý trong bài giảng là sự khác biệt giữa setTimeout và setInterval, và tại sao cleanup với clearTimeout hay clearInterval lại bắt buộc trong một số trường hợp. Đồng thời, bài giảng cũng đề cập đến các hậu quả thường gặp khi bạn không xoá đúng các tiến trình này, chẳng hạn như thực thi lặp đi lặp lại, gây sai lệch dữ liệu hoặc chậm hiệu suất. Ngoài ra, bài học sẽ giải thích cách React xử lý lại useEffect mỗi khi component re-render, và làm rõ các tình huống nào cần cleanup mỗi lần chạy lại effect, và tình huống nào chỉ cần cleanup một lần khi component bị unmount. Đây là phần kiến thức không thể thiếu nếu bạn đang làm việc với các API bất đồng bộ, đồng hồ đếm giờ, polling dữ liệu liên tục, hoặc các UI tương tác có sử dụng thời gian thực. Việc hiểu và áp dụng đúng cleanup trong useEffect sẽ giúp bạn xây dựng ứng dụng React ổn định, dễ bảo trì và tránh những lỗi tiềm ẩn khó phát hiện. Video được trình bày chi tiết, trực quan, kèm theo ví dụ minh họa dễ hiểu, phù hợp cho cả người mới học và những ai đang củng cố lại kiến thức nền tảng về React Hook. Hãy cùng theo dõi và luyện tập cùng bài học để nắm vững kỹ thuật quan trọng này trong React.