What is the primary benefit of "event pooling" in React?
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: "To save memory resources by reusing synthetic event wrappers, thereby avoiding performance issues related to garbage collection.". React bọc sự kiện gốc của trình duyệt trong SyntheticEvent (sự kiện tổng hợp); ở React 16 trở về trước, các đối tượng này được gom vào một pool (bể dùng lại): sau khi hàm xử lý chạy xong, React xoá trắng thuộc tính rồi tái sử dụng đối tượng cho sự kiện sau, đỡ phải tạo đối tượng mới liên tục và giảm áp lực cho bộ thu gom rác. Hệ quả là không đọc được event sau await hay setTimeout nếu không gọi event.persist(); từ React 17 cơ chế này đã bị bỏ vì trình duyệt hiện đại không còn được lợi đáng kể. "To make event handlers asynchronous" sai vì pooling không đổi cách gọi hàm xử lý, chúng vẫn chạy đồng bộ. "To allow events to be shared across multiple components simultaneously" sai vì một đối tượng chỉ được dùng lại tuần tự sau khi sự kiện trước xong, không dùng chung cùng lúc. "To automatically prevent default browser actions for events." sai vì muốn chặn hành vi mặc định vẫn phải tự gọi event.preventDefault().