在使用react的时候,我们难免会在父组件中调用子组件的方法,我们常用ref调用子组件的方法
如下在父组件中调用子组件的写法
父组件
handleShowModalAdd = () => {
this.add.handleToggle()//handleToggle为子组件中的方法
}
<SystemAdd ref={(el) => this.add = el}/>
但是当我们在子组件中使用redux的时候,由于使用connect对子组件进行了包装,会导致获取不到子组件中的方法
下面的是使用redux后的ref使用方法
父组件
handleShowModalAdd = () => {
this.add.handleToggle()//handleToggle为子组件中的方法
}
<SystemAdd onRef={(ref) => this.add = ref }/>
子组件
componentDidMount(){
this.props.onRef(this)//将组件实例this传递给onRef方法
}