Tách lạng bộ với ES6 dụ:
const clickHandler = param => event => {
console.log(param);
console.log(event.type);
};
Nút của chúng tôi, trình xử lý bật tắt:
<button onClick={(e) => clickHandler(1)(e)}>Click me!</button>
Nếu bạn muốn gọi biểu thức hàm này mà không có đối tượng sự kiện, thì bạn sẽ gọi nó theo cách này:
clickHandler(1)();
Ngoài ra, vì react sử dụng các sự kiện tổng hợp (một trình bao bọc cho các sự kiện gốc), nên có một điều là gộp sự kiện , có nghĩa là, nếu bạn muốn sử dụng event
đối tượng của mình một cách không đồng bộ, thì bạn phải sử dụng event.persist()
:
const clickHandler = param => event => {
event.persist();
console.log(event.target);
setTimeout(() => console.log(event.target), 1000);
};
Đây là ví dụ trực tiếp: https://codesandbox.io/s/compassionate-joliot-4eblc?fontsize=14&hidenavigation=1&theme=dark
onClick={(e) => { this.clickMe(e, someparameter) }}