React中父组件调用子组件中声明的方法

    React组件之间的通信可以通过props和onRef。这里我们用onRef来实现父组件中调用子组件方法

1.一个实栗

    父组件:

//父组件
class ParentModal extends React.Component {
	handleOkClick = () => {
		//调用子组件的方法
		this.ChildForm.FormSubmit(this)
	}
	
	render() {
		return (
			
			
{ this.ChildForm = ChildForm }} />
} }

    子组件:

//子组件
class ChildForm extends React.Component {
  componentDidMount() {
    //将子组件的this传递给父组件,实现父组件调用子组件实例
    this.props.onRef(this);
  }
  
  FormSubmit = () => {
	this.form=form
    form.validateFields((err, fieldsValue) => {
      if(!err){
		//TODO表单提交操作
	  }
  }
  
  render(){
    return (
		
			
		
	)
  }
}

2.原理

    子组件中的将该组件自身作为参数传递给父组件,父组件的onRef参数获取子组件实例,之后便可以在父组件中使用子组件里的方法了

 

你可能感兴趣的:(视图层大杂烩,react,js,javascript)