แกงด้วย ES6 ตัวอย่าง:
const clickHandler = param => event => {
console.log(param);
console.log(event.type);
};
ปุ่มของเราที่สลับตัวจัดการ:
<button onClick={(e) => clickHandler(1)(e)}>Click me!</button>
หากคุณต้องการเรียกใช้นิพจน์ฟังก์ชันนี้โดยไม่มีอ็อบเจ็กต์เหตุการณ์คุณจะเรียกมันด้วยวิธีนี้:
clickHandler(1)();
นอกจากนี้เนื่องจาก react ใช้เหตุการณ์สังเคราะห์ (wrapper สำหรับเหตุการณ์เนทีฟ) จึงมีเหตุการณ์รวมกันซึ่งหมายความว่าหากคุณต้องการใช้event
ออบเจ็กต์แบบอะซิงโครนัสคุณจะต้องใช้event.persist()
:
const clickHandler = param => event => {
event.persist();
console.log(event.target);
setTimeout(() => console.log(event.target), 1000);
};
นี่คือตัวอย่างสด: https://codesandbox.io/s/compassionate-joliot-4eblc?fontsize=14&hidenavigation=1&theme=dark
onClick={(e) => { this.clickMe(e, someparameter) }}