react 使用connect后, forwardRef.current是undefined

像使用 forwardRef实现父调子组件的方法,后来发现如果同时使用connect ,是调用不到

解决方法:connect 参数加上{forwardRef:true}
import React ,{useRef} from 'react'
import Son from './Son.js'
const father =()=>{
  const ref = useRef()
    return(<div onClick={()=>{
          ref.current.test()
         }}>{‘父调子方法’}
         <Son ref={ref}></Son>
      </div>)
}
export default father

import React ,{forwardRef,useImperativeHandle} from 'react'
import { connect } from "umi";
const Son =forwardRef((props,ref)=>{
   useImperativeHandle(ref, () => {
      return {
       test: test,
      }
    })
 })
const test =()=>{
  console.log('11111111111')
 }
export default connect(()=>({
}),null,null,{forwardRef:true}) (son)

*** 原因:ref被Hoc 高阶组件{connect} 阻断了***

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容