父组件调用子组件的方法


1、一般情况下父组件调用子组件的方法可以通过 ref 进行调用 

......

// 可以使用  this.Son.子组件的方法 来进行调用

render() {
    return (
        <div>
            <Son ref ={ (element) => {this.Son = element} }>
        </div>    
    )    
    
......

2、当子组件通过 redux 的 connect 高阶组件包裹时,不能通过以上方式直接读取到子组件,而读到的是包裹后的 Connect 组件

  解决办法如下:

  1)、首先在子组件在使用 connect 时需要填写第四个参数

......

export default connect(mapStateToPorops,mapDispatchToProps,null,{withRef: true})(Son)

......

  2)、在父组件中调用时需要注意,调用 getWrappedInstance 方法后才能获得真正的 Son 组件

......

// 可以使用  this.Son.子组件的方法 来进行调用

render() {
    return (
        <div>
            <Son ref ={ (element) => {this.Son = element.getWrappedInstance()} }>
        </div>    
    )    
    
......

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM