react hooks 之 useRef, useImperativeHandle

1  用法如下:

// 子组件 
const ChildCmp =(props, ref) => {
  const [value, setValue] = useState('');

  const click = useCallback(() => {
       console.log(value)
    }, [value])  

// 将click方法暴露出去。父组件可以通过ref获取到
 useImperativeHandle(ref, () => {
    return {clickfun: click}
 })

   return <>123</>  
}
// 父组件 
const ParentCmp =(props) => {
  const [value, setValue] = useState('');

  const childCmpRef= useRef(null);


  const click = useCallback(() => {
       childCmpRef&&childCmpRef.current&&childCmpRef.current.clickfun&&childCmpRef.current.clickfun()

    }, [value])  

// 将click方法暴露出去。父组件可以通过ref获取到
 useImperativeHandle(ref, () => {
    return {clickfun: click}
 })

   return <>
   <ChildCmp ref={childCmpRef}/>
   </>  
}

 

上一篇:2021Android大厂面试集合,最新高频安卓面试题目分享,面试资料分享


下一篇:Cypress学习15-Hooks使用方法