useImperativeHandle(ref, createHandle, [deps])

  • 作用: 减少暴露给父组件获取的DOM元素属性, 只暴露给父组件需要用到的DOM方法

  • 参数1: 父组件传递的ref属性

  • 参数2: 返回一个对象, 以供给父组件中通过ref.current调用该对象中的方法

在子组件中使用useImperativeHandle向父组件暴露出父组件想要的数据

const Index = ({ form_guid, handleValueChange }: Props, ref: React.Ref<unknown> | undefined) => {

  useImperativeHandle(ref, () => ({

  validate: validate,

  }))

}

export default forwardRef(Index)
在父组件中
const Index = (props: ComponentProps) => {
  // 创建ref
  const formViewRef: MutableRefObject<any> = useRef()
  // 使用子组件的数据
  const handleSave = () => {
    const validateStatus = formViewRef.current.validate()
  }
  return (
    // 使用ref
    <FormView ref={formViewRef} form_guid={form_guid} handleValueChange={handleValueChange} />
)

最新文章

  1. MySQL与Oracle 差异比较之三函数
  2. dsp与sem的互补以及技术实现
  3. Esper系列(六)子查询、Exists、In/not in、Any/Some、Join
  4. DTO学习系列之AutoMapper(五)----当EntityFramework爱上AutoMapper
  5. ASP.NET中连接数据库的各种方法
  6. HYSBZ 2818 gcd
  7. Android开发ListView使用OnScrollListener实现分页加载数据
  8. Javascript高级编程学习笔记(72)—— 模拟事件(2)IE事件模拟
  9. 使用fdisk进行分区
  10. spring + quartz定时任务,以及修改定时任务
  11. python之路---05 字典 集合
  12. OpenGL ES 2 for Android - A Quick Start Guide
  13. js原生态函数中使用jQuery中的 $(this)无效的解决方法
  14. Luogu 1063 能量项链(动态规划)
  15. java常见包
  16. [svc]mousedos网络批量部署xp
  17. activemq、rabbitmq、kafka原理和比较
  18. Buildroot构建指南--快速上手与实用技巧
  19. PHP 备份还原 MySql 数据库
  20. 【C#学习笔记】之用button使得textbox中数字的值增减

热门文章

  1. 编码中的Adapter,不仅是一种设计模式,更是一种架构理念与解决方案
  2. 关于AWS-IAM-certificate-证书的说明
  3. .NET 6 跨服务器联表查询
  4. P8548 小挖的买花 方法记录
  5. Vue3解决ElementPlus Drawer或弹出对话框不生效的问题
  6. GMOJ3284 [GDOI2013] 重构 题解
  7. python同时识别多张人脸(运用face_recognition)
  8. 如何用webgl(three.js)搭建一个3D库房,3D仓库,3D码头,3D集装箱可视化孪生系统——第十五课
  9. 三十五、kubernetes NameSpace介绍
  10. Golang Gorm time 时间字段格式化模型类 重写