繁体   English   中英

使用道具从孩子触发父函数

[英]Triggering a parent function from child using props

我正在尝试做一些简单的事情:我希望子组件触发在父组件中找到的函数,并且我知道正确的方法是使用道具。

在下面的Codepen中,您可以找到一个示例:

https://codepen.io/akmur/pen/MvXGEG

基本上,我要实现的是在控制台上打印“嘿”。

这是我的代码:

class Form extends React.Component {
  constructor(props){
    super(props);
  }

  onClickAdd(){
    this.props.addItem();
  }

  render(){
    return(
      <div>
        <button onClick={this.onClickAdd}>Add</button>
      </div>
    )
  }
}

class App extends React.Component {
  constructor(props){
    super(props);
  }

  addItem(){
    console.log('hey');
  }

  render() {
    return (
      <div>
        <Form addItem={this.addItem} />
      </div>
    );
  }
}

ReactDOM.render(<App />, document.getElementById('app'));

谢谢你的帮助!

您不需要onClickAdd函数。 只需直接将您传入的onClick调用this.props.addItem (注意,没有括号)即可。

 class Form extends React.Component {
  constructor(props){
    super(props);
  }

  render(){
    return(
      <div>
        <button onClick={this.props.addItem}>Add</button>
      </div>
    )
  }
}

class App extends React.Component {
  constructor(props){
    super(props);
  }

  addItem(){
    console.log('hey');
  }

  render() {
    return (
      <div>
        <Form addItem={this.addItem} />
      </div>
    );
  }
}

ReactDOM.render(<App />, document.getElementById('app'));

暂无
暂无

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

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