【发布时间】:2016-03-09 15:48:00
【问题描述】:
在我的 React 组件中,我有一个带有 onSubmit 功能的表单
<form className="form-horizontal" name="taskForm" onSubmit={this.submitTask}>
submitTask(e) {
e.preventDefault();
console.log(this.props); // undefined
console.log(this) // window object
}
由于某种原因,this.props 在我使用表单 onSubmit 时不在范围内。当我在构造函数中console.log(this.props) 时,props 正常注销。
当我console.log(this) 时,它是窗口对象。如何获取 react 组件的作用域?
【问题讨论】:
-
onSubmit={this.submitTask.bind(this)}。 Link. -
Tahir 是正确的,但我建议在您的构造函数中绑定函数,而不是在
render方法中,以便它只绑定一次,而不是每次调用 render。另一种没有绑定的方法是onSubmit={event => this.submitTask(event, this.props)} -
@azium 的回答应该是正确的答案...您可以完全访问道具、功能和所有内容。
标签: reactjs