React组件之间的通信可以通过props和onRef。这里我们用onRef来实现父组件中调用子组件方法
父组件:
//父组件
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 (
)
}
}
子组件中的将该组件自身作为参数传递给父组件,父组件的onRef参数
获取子组件实例,之后便可以在父组件中使用子组件里的方法了
。