Như tôi đã nói khi học bất kỳ framework nào, điều quan trọng nhất cần biết là phát hiện thay đổi . Làm thế nào, khi nào, tại sao. Phát hiện thay đổi là trái tim đập của hiệu suất khung. Làm không đủ và giao diện bị hỏng, làm quá thường xuyên và hiệu suất giao diện chậm lại.[1]
Việc phát hiện thay đổi của React tương đối đơn giản so với Angular, Ember và Aurelia, mặc dù chúng đều sử dụng các khái niệm tương tự. Về cơ bản, React duy trì một đối tượng lớn theo nghĩa đen trong bộ nhớ đại diện cho trạng thái của DOM. Đây là DOM ảo hay còn gọi là vDOM nổi tiếng hiện nay. VDOM đi qua React mill và kết quả là HTML và CSS đại diện cho DOM thực tế.
Để xác định xem một thay đổi đã xảy ra hay chưa, React tạo một vDOM mới dựa trên một sự kiện (do đó là nguồn gốc của tên React: nó Phản ứng với các sự kiện.). Sau đó vDOM cũ và vDOM mới chạy qua một cơ chế được gọi là khác biệt , đó là tiếng lóng của lập trình viên để kiểm tra sự khác biệt. Nếu phát hiện bất kỳ sự khác biệt nào giữa hai vDOM, nó sẽ hiển thị lại các phần của giao diện người dùng đã thay đổi.
Đây là một sự đơn giản hóa ở mức độ cao của quy trình, nhưng không quá mức. Đó là một minh chứng cho sự sang trọng của kiến trúc. Các khái niệm khác ngoài tính năng phát hiện thay đổi cụ thể của React không đặc biệt với React và liên quan nhiều hơn đến kiến trúc và phân rã phần mềm tốt.