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

脱围机制-react18废除forwardRef->react19直接使用ref的理解

采用ref,可以在父组件调用到子组件的功能

第一步:在父组件声明ref并传递ref

interface SideOptsHandle {
  refreshData: () => Promise<void>
}
  const sideOptsRef = useRef<SideOptsHandle>(null) // 创建 ref
            <SideOpts ref={sideOptsRef} />

第二步:在子组件接收ref,并通过useImperativeHandle进行脱围

interface SideOptsHandle {
  refreshData: () => Promise<void>
}

interface SideOptsProps {
  ref?: React.Ref<SideOptsHandle>
  // 其他 props 可在这里定义
}
const SideOpts = ({ ref }: SideOptsProps) => {

  useImperativeHandle(ref, () => ({
    refreshData: async () => {
      await fetchData()
    },

第三步:父组件使用ref进行使用子组件脱围的对象

    if (sideOptsRef.current) {
      await sideOptsRef.current.refreshData() // 调用 SideOpts 的刷新方法
      console.log('刷新成功')
    }


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

相关文章:

  • Linux--命令行操作
  • AI Agent开发大全第八课-Stable Diffusion 3的本地安装全步骤
  • 用HTML和CSS生成炫光动画卡片
  • MATLAB 批量移动 TIF 文件至分类文件夹
  • 批量将多个彩色的 PDF 转换为黑白色
  • browser-use 库 DOM 树序列化工具
  • 主流云平台(AWS、华为云、阿里云、Google Cloud等)的**大数据及人工智能技术栈**及其核心组件的深度解析
  • HarmonyOS NEXT开发实战——TypeScript快速入门与ArkTS介绍
  • CentOS 8 Stream 配置在线yum源参考 —— 筑梦之路
  • OpenCV第2课 OpenCV的组成结构与图片/视频的加载及展示
  • 【Linux加餐-验证UDP:TCP】-windows作为client访问Linux
  • uniapp编译小程序报错,v-for中,非 h5 平台 :key 不支持表达式 chart+‘_‘
  • 常见框架漏洞(一)----Thinkphp(TP)
  • 音视频 二 看书的笔记 MediaPlayer
  • 阿里Qwen2.5-Omni:全能型多模态模型登场,视频实时互动碾压Gemini
  • Rust从入门到精通之精通篇:23.高级并发模式
  • FPGA中串行执行方式之使用时钟分频或延迟的方式
  • 光流 | 基于KLT算法的人脸检测与跟踪原理及公式,算法改进,matlab代码
  • Git入门——常用指令汇总
  • STM32 ADC 温度采集 可穿戴体温测量仪LMT70