繁体   English   中英

未捕获的TypeError:无法在React中读取null的属性'props'

[英]Uncaught TypeError: Cannot read property 'props' of null in React

这是我的子组件,需要将数据传递给它的父组件。

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

我在这里做错了。

传递到Sidebar道具的this.getUserInput函数在调用时未绑定到正确的上下文( this )。 您可以例如绑定

<Sidebar handleSubmit={this.handleSubmit.bind(this)}/>

还有其他方法可以解决这个问题。 例如,使用具有词法this箭头函数,构造函数中的绑定方法或使用类属性来定义带有箭头函数的方法(ES7)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM