未捕获的类型错误:无法读取 React 中为 null 的属性“props”
2016-11-09
6052
这是我的子组件,需要将数据传递给其父级。
class Sidebar extends React.Component {
getUserInput(event){
event.preventDefault();
let value = document.getElementById('input-button').value;
console.log(value);
this.props.handleSubmit(value);
}
render() {
return (
<div>
<input type="text" id="input-button" placeholder="YGUID" />
<button type="button" className="btn btn-info btn-icons" onClick={this.getUserInput} />
</div>
);
}
}
Sidebar.propTypes = {
handleSubmit: React.PropTypes.func
};
这是父级调用 handleSubmit 的地方。
......
handleSubmit(data){
console.log(data);
}
render(){
return(
<div className="col-md-2 left-pane">
<Sidebar handleSubmit= {this.handleSubmit}/>
</div>
);
}
我收到以下错误。
Uncaught TypeError: Cannot read property 'props' of null
我在这里做错了什么。
1个回答
this.getUserInput
函数在调用时传递给
Sidebar
属性,但未绑定到正确的上下文 (
this
)。例如,您可以
绑定
它:
<Sidebar handleSubmit={this.handleSubmit.bind(this)}/>
还有其他方法可以解决此问题。例如,使用具有词法
this
的箭头函数、在构造函数中绑定方法或使用类属性通过箭头函数定义方法 (ES7)。
madox2
2016-11-09