当前位置: 首页 > article >正文

react 父组件调用子组件方法:forwardRef + useImperativeHandle

forwardRef + useImperativeHandle

  • forwardRef 适用于需要让父组件操作子组件内部 DOM
  • 使用 useImperativeHandle 向父组件暴露方法

父组件:

import React, { useRef } from 'react'

const NodeBox: React.FC<MyComponentProps> = ({ nodeinfo }) => {
  const nodeRef = useRef(null)
  return (
  	  <button onClick={() => nodeRef.current?.fn()}></button>
      <Node ref={nodeRef} nodeinfo={nodeinfo} />
  )
}

子组件:

import React, { useImperativeHandle, forwardRef } from 'react'

// forwardRef 适用于需要让父组件操作子组件内部 DOM
const Node = forwardRef(({ nodeinfo }: MyComponentProps, ref) => {
  const fn = () => {
  }

  // 使用 useImperativeHandle 向父组件暴露方法
  useImperativeHandle(ref, () => ({
    fn,
  }))
  
  return <></> 
})

http://www.kler.cn/a/572163.html

相关文章:

  • Qt常用控件之滑动条QSlider
  • doris:Iceberg
  • Windows 10 下 SIBR Core (i.e. 3DGS SIBR Viewers) 的编译
  • go前后端开源项目go-admin,本地启动
  • 【目录爆破与文件枚举工具对比】
  • 商淘云:跨境电商源码网站开发部署需要注意的三大关键点
  • QCP:数字科技先锋者 引领数字金融时代
  • SQL经典常用查询语句
  • 今天来介绍和讨论 AGI(通用人工智能)
  • 一种中文分词的动态规划模型
  • 纯前端实现「羊了个羊」小游戏(附源码)
  • DeepSeek掘金——DeepSeek-R1驱动的金融分析师
  • android13打基础: 控件alertdialog
  • 基于javaweb的SSM+Maven教务管理系统设计和实现(源码+文档+部署讲解)
  • 关于签名验证不存在的错误
  • Docker 学习(二)——基于Registry、Harbor搭建私有仓库
  • Android14 串口控制是能wifi adb实现简介
  • 高频 SQL 50 题(基础版)_550. 游戏玩法分析 IV
  • 详解 scanf 和 printf(占位符、printf、scanf的返回值、printf的输出格式、scanf的输入格式)
  • 费曼学习法13 - 数据表格的魔法:Python Pandas DataFrame 详解 (Pandas 基础篇)