繁体   English   中英

如何在孩子的 function 中运行作为道具传递的 function?

[英]How to run function passed as prop inside child's function?

如标题-在父组件中,我将 function 作为道具传递给子组件,我想在子组件中运行此 function,但在子组件的 ZC1C425268E68385D1AB5074C17A94F1 中运行。

//parent component
<div>
    <Child myFunction={this.myFunction} />
</div>

并在子组件中创建新的 function

//child component
    newFunction = () => {
        //someNewCode
        this.props.myFunction();
    }
    <button onClick={this.newFunction}>click me</button>

但它不起作用。 问题出在哪里?

以下应该工作。

也许this.myFunction不是箭头 function 并且您忘记绑定它。

 class Parent extends React.Component { myFunction = () => { console.log("Luke, I am your father"); }; render() { return <Child myFunction={this.myFunction} />; } } class Child extends React.Component { newFunction = () => { this.props.myFunction(); } render() { return <button onClick={this.newFunction}>click me</button>; } } ReactDOM.render(<Parent />, document.getElementById("root"));
 <script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script> <div id='root'></div>

暂无
暂无

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

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