如何正确调用子组件中的传递函数

时间:2017-04-13 09:04:46

标签: reactjs

我有这两个组件,我想知道如何调用传递函数。因为如果我通过它 - >我在一个孩子中有一个参考,所以当我想通过一个paremeter到它时出现问题 - 因为它立即调用(这是明确的)。

class Parent extends Component {
  ....
  fn = (arg) => {console.log(arg)}
  render(){
    return (
      <Child myPassedFn={this.fn}>delete</button>
    )
  }
}

class Child extends Component {
 render(){
    return (
      <button onClick={this.props.myPassedFn('lul')}>delete</button>
    )
  }
}

以这种方式,只要组件Child呈现,myPassedFn就会执行

这是实现这一目标的正确方法吗?因为我想以最明确和恰当的方式思考,

class Child extends Component {

 childFn = () => {
   this.props.myPassedFn('this is how i could pass, you little..')
 }
 render(){
    return (
      <button onClick={this.childFn}>delete</button>
    )
  }
}

1 个答案:

答案 0 :(得分:1)

你也可以这样写:

onClick={() => this.props.myPassedFn('lul')}

Onclick除了method,而您使用的方法是方法调用,它将return值。

你也可以使用第二种方式,上面只是简写。