In the useEffect hook, how many milliseconds would you wait using setTimeout to perform a side effect after 2 seconds?
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: "2000". Hàm setTimeout của JavaScript nhận độ trễ tính bằng mili giây (millisecond), mà 1 giây bằng 1000 mili giây, nên muốn chờ 2 giây thì truyền 2000. Trong React, ta gọi setTimeout bên trong useEffect vì đặt hẹn giờ là một side effect (tác dụng phụ) chứ không phải việc tính toán giao diện, và nên trả về hàm dọn dẹp gọi clearTimeout để huỷ hẹn giờ khi component bị gỡ hoặc effect chạy lại. "2" sai vì chỉ là 2 mili giây, gần như chạy ngay lập tức. "200" sai vì tương ứng 0,2 giây, nhanh gấp mười lần yêu cầu. "20000" sai vì tương ứng 20 giây, chậm gấp mười lần yêu cầu; nhầm này thường do quên rằng đơn vị là mili giây chứ không phải giây.
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ỏiWhy might this code produce unexpected results?
function Counter() {
const [count, setCount] = useState(0);
const handleClick = () => {
setCount(count + 1);
setCount(count + 1);
};
return <button onClick={handleClick}>{count}</button>;
}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