This question already has answers here:
Unable to access React instance (this) inside event handler
(19个回答)
5个月前关闭。
我知道这很简单,但对我来说却很少混淆:(
为什么在以下情况下输入值未重置。
但是,当我在
我使用CodePen创建了一个工作示例。谁能指导我做错了什么。
另外5个示例位于:
https://www.freecodecamp.org/news/react-binding-patterns-5-approaches-for-handling-this-92c651b5af56/
更新:
自动将方法绑定到其类实例的小型库。
https://www.npmjs.com/package/auto-bind
(19个回答)
5个月前关闭。
我知道这很简单,但对我来说却很少混淆:(
为什么在以下情况下输入值未重置。
handleReset() {
this.setState({ data: "" });
}
<button onClick={this.handleReset}>Reset</button>
但是,当我在
onClick
事件中使用内联方式时,我可以重设输入值。<button onClick={()=>{ this.setState({ data: "" });}}>Reset</button>
我使用CodePen创建了一个工作示例。谁能指导我做错了什么。
最佳答案
您需要将handleReset()
函数绑定到该类或使用箭头函数。 this
的范围否则更改。
尝试使用箭头功能(绑定范围):
handleReset = () => {
this.setState({ data: "" });
}
另外5个示例位于:
https://www.freecodecamp.org/news/react-binding-patterns-5-approaches-for-handling-this-92c651b5af56/
更新:
自动将方法绑定到其类实例的小型库。
https://www.npmjs.com/package/auto-bind
关于javascript - 在React的onClick事件中重置输入值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58720817/
10-12 00:13