react函数式组件之---父组件调用子组件实例方法

记录函数式父组件,调用函数式子组件实例方法

父组件:

const Parent = () => {
  return <Child />
}

子组件:

const Child = () => {
  const inputRef = useRef()

  const focusFun = () => {
    inputRef.current.focus()
  }

  const onClick = () => {
    // some code
  }

  return <input ref={inputRef} />
}

现在,实现在父组件Parent里面调用Child组件的focusFun和onClick方法。实现方法主要使用react的useImperativeHandle和forwardRef。

react官网对useImperativeHandle和forwardRef的介绍:

 

 

 

 

调用useImperativeHandle和forwardRef修改组件

(1)useImperativeHandle向父组件暴露focus和onClick方法

 

 (2)父组件调用被forwardRef包裹的组件,并将ref传递给它。

 

 

 父组件25行打印ref对象:current对象下面就可以拿到刚刚在子组件定义的方法了。

 

posted @ 2021-06-01 15:06  木易锅巴  阅读(6041)  评论(0编辑  收藏  举报