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

父组件:

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的介绍:

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

 

 

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

 

 

调用useImperativeHandle和forwardRef修改组件

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

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

 

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

 

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

 

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

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

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-04-09
  • 2021-10-16
  • 2021-06-22
  • 2021-10-19
  • 2022-12-23
猜你喜欢
  • 2022-03-04
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案