Tôi mới sử dụng các lớp ES6 với React, trước đây tôi đã liên kết các phương thức của mình với đối tượng hiện tại (hiển thị trong ví dụ đầu tiên), nhưng ES6 có cho phép tôi liên kết vĩnh viễn một hàm lớp với một thể hiện của lớp bằng mũi tên không? (Hữu ích khi chuyển dưới dạng hàm gọi lại.) Tôi gặp lỗi khi tôi cố gắng sử dụng chúng như bạn có thể với CoffeeScript:
class SomeClass extends React.Component {
// Instead of this
constructor(){
this.handleInputChange = this.handleInputChange.bind(this)
}
// Can I somehow do this? Am i just getting the syntax wrong?
handleInputChange (val) => {
console.log('selectionMade: ', val);
}
Vì vậy, nếu tôi chuyển qua SomeClass.handleInputChange
, chẳng hạn setTimeout
, nó sẽ nằm trong phạm vi lớp chứ không phải window
đối tượng.