我有一个带有简单按钮处理程序方法的组件。如果我没有将onClick
处理程序绑定到构造函数中的this
(或onClick
本身内联),那么我会收到错误,因为{{1方法不是我的组件的状态是......
我了解handleAdd
的工作原理,但是有一种解决方法可以避免使用TypeScript + React在整个地方使用bind
吗?
bind
答案 0 :(得分:8)
但有没有一种解决方法可以避免使用TypeScript + React在整个地方使用绑定?
是。使用箭头功能:
handleAdd = (e: any) => {
this.setState({
items: [...this.state.items, { name: "foo" }]
});
}
答案 1 :(得分:0)
箭头函数适用于匿名函数,但会降低类的可扩展性(如果要扩展该类并重新定义函数但使用super)。
要调用函数作为类的成员,简单的方法是使用bind。
最糟糕的是使用绑定而不是使用匿名函数吗?