1.父子组件方法调用
// 父组件 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;2.父子组件之间传值
transMsg(types){ var newOrders=[]; for(let type of types){ if(type) alert(type); }} <Child parm={ this.state.msg} transMsg={ msg => this.transMsg(msg) } />父组件向子组件传值:
this.props.parm;子组件向父组件传值:子组件通过调用父组件传递到子组件的方法 向父组件传递消息的
this.props.transMsg("hi ~~");