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 ánLờ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
Find the bug in the following React code: const [items, setItems] = useState([]); const addItem = () => { items.push('new'); setItems(items); };Có lời giảiCâu hỏiWhich is the correct way to consume context in a functional component using the "useContext" hook?Có lời giảiCâu hỏiHow can the useEffect hook be optimized for cleanup actions?Có lời giảiCâu hỏiCả 24 câu của chủ đề24 câu