Which of the following could cause an Effect to run too frequently?

4 phương ánCó giải thích

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "Including a variable like data that changes often in the dependency array.". Effect chạy sau lần render đầu và chạy lại mỗi khi một giá trị trong mảng phụ thuộc (dependency array) khác giá trị ở lần render trước theo phép so sánh Object.is; nếu đưa vào mảng một biến như data thay đổi liên tục (dữ liệu mới sau mỗi lần tải, hoặc đối tượng, mảng tạo mới ở mỗi render), Effect sẽ chạy lại liên tục, thậm chí thành vòng lặp nếu chính Effect cập nhật data. Cần nói thẳng: "Not using a dependency array." và "Omitting the dependency array altogether." cũng khiến Effect chạy sau mọi lần render, tức cũng là chạy quá thường xuyên; nhưng hai phương án này diễn đạt cùng một ý nên không thể cùng là đáp án duy nhất của câu chọn một, và đáp án được chọn là tình huống biến hay đổi nằm trong mảng. Phương án "Including all state variables in the dependency array." tự nó không phải nguyên nhân đặc trưng: khai báo đủ các state mà Effect dùng là điều React yêu cầu, và Effect chỉ chạy lại khi các state đó thật sự đổi.

Cùng phần 6

Xuất hiện trong 1 bộ đề