我有这两个组件,我想知道如何调用传递函数。因为如果我通过它 - >我在一个孩子中有一个参考,所以当我想通过一个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>
)
}
}
答案 0 :(得分:1)
你也可以这样写:
onClick={() => this.props.myPassedFn('lul')}
Onclick
除了method
,而您使用的方法是方法调用,它将return
值。
你也可以使用第二种方式,上面只是简写。