我正在尝试使用babel绑定异步函数,而不使用属性初始化器。 (我正在做一个测试)。我需要绑定的原因是因为它们被添加到onClick
,这使得它们失去了this
。
它适用于下面的editEntry
,因为它不是异步的。但是当我尝试使用deleteEntry
时会导致错误:
TypeError:_this.saveEntry未定义
这是我的班级:
class RowActions extends Component {
constructor(props) {
super(props);
console.warn('binding functions');
this.editEntry = this.editEntry.bind(this);
this.saveEntry = this.saveEntry.bind(this);
console.warn('binding functions done');
}
editEntry(e) {
let { blah } = this.props;
e.preventDefault();
}
async saveEdit(e) {
let { blah } = this.props;
e.preventDefault();
}
render() {
let { blah } = this.props;
}
}
答案 0 :(得分:2)
this.saveEntry
未定义,因为没有具有该名称的方法,您只有saveEdit
。你可能意味着:
this.saveEdit = this.saveEdit.bind(this);