How can you pass parameters to an event handler in React?

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 gồm ba ý: "Using the bind() method.", "Using arrow functions." và "Using the this keyword.". Muốn truyền thêm tham số cho hàm xử lý sự kiện (event handler), React có hai cách thật: bọc bằng arrow function (hàm mũi tên) như onClick={() => handleDelete(id)}, hoặc dùng bind để tạo một hàm mới có sẵn đối số, ví dụ this.handleDelete.bind(this, id), khi đó đối tượng event được nối vào sau cùng. Cần nói thẳng chỗ dễ tranh cãi: "Using the this keyword." tự nó không truyền được tham số, nó chỉ đúng theo nghĩa đi kèm bind(this, arg) trong class component, nơi this trỏ tới thể hiện component và là đối số đầu tiên của bind; vì gắn liền với cách dùng bind nên ý này được tính là đúng. Ngược lại "Using the addEventListener() method." là API DOM thuần, gắn trình nghe trực tiếp lên phần tử thật và đi vòng qua hệ thống sự kiện của React, nên không phải cách truyền tham số cho event handler trong React.

Cùng phần 4

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