我们闲话不多说,直接上代码
// 父组件 import React, {Component} from 'react'; class Parents extends Component { constructor(props) { super(props); this.state = { } } componentDidMount() { } handleCancel = (e) => { console.log('父组件的方法被子组件调用'); } childClick = (e) => { this.child.onShow() } render() { return ( <section> <Child onCancel={this.handleCancel} onRef={(ref)=>{ this.child = ref}}></Child> <div onClick={this.childClick}>调用子组件的函数</div> </section> ); } } export default Parents; // 子组件 import React, {Component} from 'react'; class Child extends Component { constructor(props) { super(props); this.state = { } } componentDidMount() { this.props.onRef(this) } onShow(){ console.log('子组件的方法被父组件调用') } render() { return ( <section> <div onClick={()=>{this.props.handleCancel()}}>子组件用this.props调用父组件的函数</div> </section> ); } } export default Child;